我的请求的响应是java脚本代码。当我将url放在浏览器中时,我可以在页面上看到整个生成的java脚本代码。传递给$ .ajax的网址格式如下:
http://localhost:8080/vi-api/viapi?action=tag&projectId=45&tagId=345
当我输入上述URL时,我可以看到请求成功。现在,我正在使用jQuery在Ajax请求下使用此URL。
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:有没有办法在上述过程中返回成功/失败代码?
答案 0 :(得分:2)
我不确定原因,但我可以提供一些如何调试或发现问题的提示:
1)安装fiddler以查看HTTP请求。
2)输入:“script”,为什么类型是脚本?尝试使用“text / html”。
3)使用complete(jqXHR, textStatus)
您可以查看HTTP状态。 more info about $.ajax
答案 1 :(得分:2)
在:
$.ajax({
type:"GET",
url:finalUrl,
type:"script",
(...)
您的对象中有两次'type'键。所以我认为只有第二个('脚本')。显然'script'不是有效的HTTP方法(如HEAD,GET,PUT,POST等)。您正在查看“脚本”的关键字可能是dataType
,可能是xml
,json
,jsonp
,text
,{{1}之一},或script
。
不要忘记查看html
,这通常是返回脚本内容并调用它的好方法。
答案 2 :(得分:1)
var finalUrl=http://localhost:8080/vi-api/viapi?action=tag&projectId=45&tagId=345;
是非常无效的javascript。你可能意味着将url作为字符串传递:
var finalUrl = 'http://localhost:8080/vi-api/viapi?action=tag&projectId=45&tagId=345';