JQuery响应为null,但实际响应不是

时间:2010-03-26 03:39:23

标签: javascript jquery ajax

我正在使用JQuery进行Ajax调用。我使用嗅探器来捕获响应文本:

{"error_code":0,"message":"SUCCESS","data":{"session_token":"3efd9dde-a839-4e91-9415-4c2f6cba5b7b"}}

但是成功回调返回的响应为null。有人有任何想法吗? (参见下面的jquery代码。

Jquery代码:

  $.ajax({
   type: "GET",
   url: "http://184.72.58.99/matchaapi/API/User/Login",
   data: { email: emailval, password: pwordval, developer_key: devkey },
   dataType: "json",
   cache: false,
   beforeSend: function(xhr) {
                           xhr.setRequestHeader( "Content-Type", "application/json; charset=utf-8" );
                       },
   success: function(resp) {
      alert(resp);
      $("#status p").html(resp.message);
     }});

3 个答案:

答案 0 :(得分:3)

只是猜测...您的网站是否与您尝试呼叫的API在同一网站上提供?除非使用JSONP(参见jsonp parameter in jQuery.ajax()),否则无法直接从浏览器向其他服务器发出AJAX请求。如果API不支持,那么您需要通过Web服务器代理呼叫。

答案 1 :(得分:1)

什么版本的jQuery,以及什么浏览器?尝试绑定complete事件而不是success事件。

答案 2 :(得分:1)

根据jQuery API docs

  

[success]函数传递三个   arguments:从中返回的数据   服务器,根据的格式   'dataType'参数

也许数据没有格式化为正确的JSON?