首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ajax请求返回200确定,但错误而不是成功

Ajax请求返回200确定,但错误而不是成功
EN

Stack Overflow用户
提问于 2014-10-10 18:11:37
回答 2查看 1.8K关注 0票数 0

有人能帮我吗..。

我让这个AJAX脚本调用一个XML页面。

代码语言:javascript
复制
 $.ajax({
    type: "GET",
    url: "game/",
    dataType: "xml",
    data : {
        g : 'new',
        uid : uid
    },

    error: function (xml) {
    console.log("ERROR");
    console.log(xml);

    alert(xml.status + ' ' + xml.statusText)
  },


    success: function(xml)
    {
    ...

    }

但是,在error对象中返回状态: 200 OK。为什么会发生这种事?

在这里,我的控制台日志:

代码语言:javascript
复制
ERROR speedywebs.js:678
Object {readyState: 4, getResponseHeader: function, getAllResponseHeaders: function, setRequestHeader: function, overrideMimeType: function…}abort: function (e){var t=e||S;return f&&f.abort(t),N(0,t),this}always: function (){return i.done(arguments).fail(arguments),this}complete: function (){if(a){var t=a.length;(function i(t){b.each(t,function(t,n){var r=b.type(n);r==="function"?(!e.unique||!c.has(n))&&a.push(n):n&&n.length&&r!=="string"&&i(n)})})(arguments),n?s=a.length:r&&(u=t,l(r))}return this}done: function (){if(a){var t=a.length;(function i(t){b.each(t,function(t,n){var r=b.type(n);r==="function"?(!e.unique||!c.has(n))&&a.push(n):n&&n.length&&r!=="string"&&i(n)})})(arguments),n?s=a.length:r&&(u=t,l(r))}return this}error: function (){if(a){var t=a.length;(function i(t){b.each(t,function(t,n){var r=b.type(n);r==="function"?(!e.unique||!c.has(n))&&a.push(n):n&&n.length&&r!=="string"&&i(n)})})(arguments),n?s=a.length:r&&(u=t,l(r))}return this}fail: function (){if(a){var t=a.length;(function i(t){b.each(t,function(t,n){var r=b.type(n);r==="function"?(!e.unique||!c.has(n))&&a.push(n):n&&n.length&&r!=="string"&&i(n)})})(arguments),n?s=a.length:r&&(u=t,l(r))}return this}getAllResponseHeaders: function (){return w===2?o:null}getResponseHeader: function (e){var t;if(w===2){if(!l){l={};while(t=Sn.exec(o))l[t[1].toLowerCase()]=t[2]}t=l[e.toLowerCase()]}return t==null?null:t}overrideMimeType: function (e){return w||(c.mimeType=e),this}pipe: function (){var e=arguments;return b.Deferred(function(n){b.each(t,function(t,s){var o=s[0],u=b.isFunction(e[t])&&e[t];i[s[1]](function(){var e=u&&u.apply(this,arguments);e&&b.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[o+"With"](this===r?n.promise():this,u?[e]:arguments)})}),e=null}).promise()}progress: function (){if(a){var t=a.length;(function i(t){b.each(t,function(t,n){var r=b.type(n);r==="function"?(!e.unique||!c.has(n))&&a.push(n):n&&n.length&&r!=="string"&&i(n)})})(arguments),n?s=a.length:r&&(u=t,l(r))}return this}promise: function (e){return e!=null?b.extend(e,r):r}readyState: 4responseText: "<?xml version="1.0" encoding="UTF-8"?><cards><card1><id>119</id><download>19.99</download><upload>12.48</upload><ping>24</ping><testserver>Stockholm 2</testserver><hostname>x1-6-28-c6-8e-96-b1-da.cpe.webspeed.dk</hostname><name>@risager</name><location>Vangede</location><connection>Kabel / Fiber</connection><comment></comment></card1><card2><id>171</id><download>-</download><upload>-</upload><ping>-</ping><testserver>Stockholm 2</testserver><hostname>94.191.184.222.mobile.3.dk</hostname><name>@camillaBandit</name><location>København K</location><connection>4G/LTE</connection><comment>Inde hos Joe & The Juice</comment></card2></cards>"setRequestHeader: function (e,t){var n=e.toLowerCase();return w||(e=y[n]=y[n]||e,g[e]=t),this}state: function (){return n}status: 200statusCode: function (e){var t;if(e)if(w<2)for(t in e)m[t]=[m[t],e[t]];else x.always(e[x.status]);return this}statusText: "OK"success: function (){if(a){var t=a.length;(function i(t){b.each(t,function(t,n){var r=b.type(n);r==="function"?(!e.unique||!c.has(n))&&a.push(n):n&&n.length&&r!=="string"&&i(n)})})(arguments),n?s=a.length:r&&(u=t,l(r))}return this}then: function (){var e=arguments;return b.Deferred(function(n){b.each(t,function(t,s){var o=s[0],u=b.isFunction(e[t])&&e[t];i[s[1]](function(){var e=u&&u.apply(this,arguments);e&&b.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[o+"With"](this===r?n.promise():this,u?[e]:arguments)})}),e=null}).promise()}__proto__: Object

XML响应是:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?><cards><card1><id>119</id><download>19.99</download><upload>12.48</upload><ping>24</ping><testserver>Stockholm 2</testserver><hostname>x1-6-28-c6-8e-96-b1-da.cpe.webspeed.dk</hostname><name>@risager</name><location>Vangede</location><connection>Kabel / Fiber</connection><comment></comment></card1><card2><id>171</id><download>-</download><upload>-</upload><ping>-</ping><testserver>Stockholm 2</testserver><hostname>94.191.184.222.mobile.3.dk</hostname><name>@camillaBandit</name><location>København K</location><connection>4G/LTE</connection><comment>Inde hos Joe & The Juice</comment></card2></cards>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-10 18:20:50

好吧,这是XML解析问题。您收到的XML在第25行:<comment>Inde hos Joe & The Juice</comment>中有未转义的符号和字符。

请客户端进行escape it或将其更改为文本。其余的XML正确地解析。

请查看类似的问题here

另外,请记住下次在你的问题中添加这样的信息,它会有很大的帮助。;)

票数 1
EN

Stack Overflow用户

发布于 2014-10-10 18:16:58

使用这种类型的回调来查看正确的错误。

代码语言:javascript
复制
  error: function (xhr, ajaxOptions, thrownError) {
        console.log(xhr.status);
        console.log(thrownError);
      }

然后通过设置正确的返回数据类型来修复。

这个链接可能会有帮助- jQuery AJAX 200 status, yet mysterious syntax error

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26305557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档