Ответ JQuery нулевой, но фактический ответ не - PullRequest
0 голосов
/ 26 марта 2010

Я использую JQuery для вызова Ajax. Я использовал сниффер, чтобы поймать текст ответа:

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

Но ответ, полученный при успешном обратном вызове, равен нулю. У кого-нибудь есть идеи? (см. код 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 ]

3 голосов
/ 26 марта 2010

Просто предположите ... ваш сайт обслуживается с того же сайта, что и API, который вы пытаетесь вызвать? Вы не можете сделать запрос AJAX на другой сервер напрямую из браузера, если не используете JSONP (см. Параметр jsonp в jQuery.ajax () ). Если API не поддерживает его, вам необходимо прокси-вызовы через веб-сервер.

1 голос
/ 26 марта 2010

Согласно API jQuery документы :

Функция [success] проходит три аргументы: данные, возвращаемые из сервер, отформатированный в соответствии с параметр dataType

Может быть, данные не отформатированы как правильный JSON?

1 голос
/ 26 марта 2010

Какая версия jQuery и какой браузер? Попробуйте связать с событием complete, а не с событием success.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...