为什么Ajax获取请求失败
我的请求的响应是一个java脚本代码。当我将 url 输入浏览器时,我可以在页面上看到整个生成的 java 脚本代码。传递给 $.ajax 的 url 格式如下:
http://localhost:8080/vi-api/viapi?action=tag&projectId=45&tagId=345
当我输入上面的 URL 时,我可以看到请求成功。现在,我使用 jQuery 对这个 url 使用下面的 Ajax 请求。
var finalUrl = "http://localhost:8080/vi-api/viapi?action=tag&projectId=45&tagId=345";
var req = $.ajax({
type:"GET",
url:finalUrl,
type:"script",
data:"",
success: function(html){
alert('Requese sucessful.');
},
complete:function(jqXHR, textStatus) {
alert("request complete "+textStatus);
},
error: function(xhr, textStatus, errorThrown){
alert('request failed->'+textStatus);
}
});
问题1:这会发出警报“请求失败错误”。为什么会这样?
问题2:在上述过程中有没有办法返回成功/失败代码?
The response of my request is a java script code. When I put the url in browser, I can see the whole generated java script code on the page. Format of url passed to $.ajax is as below:
http://localhost:8080/vi-api/viapi?action=tag&projectId=45&tagId=345
When I put the above URL I can see the request is successful. Now, I am using below Ajax request for this url using jQuery.
var finalUrl = "http://localhost:8080/vi-api/viapi?action=tag&projectId=45&tagId=345";
var req = $.ajax({
type:"GET",
url:finalUrl,
type:"script",
data:"",
success: function(html){
alert('Requese sucessful.');
},
complete:function(jqXHR, textStatus) {
alert("request complete "+textStatus);
},
error: function(xhr, textStatus, errorThrown){
alert('request failed->'+textStatus);
}
});
Question 1:This gives the alert "request failed error'. Why this is so ?
Question 2:Is there any way to return success/failure code in above process?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
输入:
您的对象中有两次“type”键。所以我认为只采用了第二个(“脚本”)。显然“script”不是有效的 HTTP 方法(如 HEAD、GET、PUT、POST 等)。您正在寻找的“脚本”关键字可能是
dataType
,它可能是xml
、json
、jsonp
之一>、文本
、脚本
或html
。不要忘记查看 jsonp,它通常是返回脚本内容并调用它的好方法。
In:
You have two times the 'type' key in your object. So I think only the second one is taken ('script'). Obviously 'script' is not a valid HTTP method (as HEAD,GET,PUT,POST, etc). The keyword your were looking at for 'script' is maybe
dataType
which may be one ofxml
,json
,jsonp
,text
,script
, orhtml
.Do not forget to look at
jsonp
, it's usually a nice way to return a script content and to call it.我不知道为什么,但我可以给你一些如何调试或找出问题的提示:
1)安装 fiddler 到查看 HTTP 请求。
2)type:“script”,为什么类型是script?尝试使用“text/html”。
3)使用
complete(jqXHR, textStatus)
你可以查看HTTP状态。 有关 $.ajax 的更多信息I am not sure why, but I can give your some tips how to debug or find out issues:
1) install fiddler to look at HTTP request.
2) type:"script", why the type is script? try to use "text/html".
3) use
complete(jqXHR, textStatus)
you can look at HTTP status. more info about $.ajax是相当无效的 JavaScript。您可能意味着将 url 作为字符串传递:
is pretty invalid javascript. You probably meant passing the url as a string: