Heim  >  Artikel  >  Backend-Entwicklung  >  javascript - ajax死活不走success,只走error,请求状态码为200.

javascript - ajax死活不走success,只走error,请求状态码为200.

WBOY
WBOYOriginal
2016-09-11 11:34:081260Durchsuche

求解,如何解决呢?另外一个域名走是OK的,但这个域名死活不走,前端代码如下:

javascript - ajax死活不走success,只走error,请求状态码为200.

后端代码如下:

javascript - ajax死活不走success,只走error,请求状态码为200.

javascript - ajax死活不走success,只走error,请求状态码为200.

回复内容:

求解,如何解决呢?另外一个域名走是OK的,但这个域名死活不走,前端代码如下:

javascript - ajax死活不走success,只走error,请求状态码为200.

后端代码如下:

javascript - ajax死活不走success,只走error,请求状态码为200.

javascript - ajax死活不走success,只走error,请求状态码为200.

接口没处理callback吧?

写法没有错,估计是服务器端返回的不是jsonp格式,回调处理失败了。
$.ajax 默认的jsonp回调参数是?callback=_XXXX,看看后台处理和返回是否正确。

服务器return的值错了呀 你返回的是空值啊看上去 如果有一个什么 {"result":"successful"} 之类的试试?

Javascript:添加

<code class="javascript">$.ajax({
    ....
    jsonp:'jsonp_callback',  </code>

jQuery会使用AJAX GET请求一个 /url/?callback=jsonp_callback 的URL
然后会执行 jsonp_callback(result)的JavaScript的回调

<code class="php">function(){
    return string;
}</code>

javascript收到的就会是一个String类型的输出。并不是JSON。不是JSON就DIE掉了。

<code class="php">function (){
    // 这里是callback还是jsonp_callback忘了。具体百度一下
    return $_GET['callback']."(".json_encode($string).")";
    // 实际返回并输出的将会是:  `jsonp_callback("string")`
}</code>

update

javascript - ajax死活不走success,只走error,请求状态码为200.

看图说话:
ajax请求地址为http://baidu.com
实际请求地址为http://baidu.com/?callback=xxxxxxx&_=xxx&_=xxxx

为什么不用数字代替返回内容啊。

dataType与返回值不符,建议把这个参数拿掉让jquery自动识别返回值。
另外这不是jsonp吧?

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn