2015-02-26 2 views
0

Я вызываю php-скрипт с помощью jsonp ajax-вызова. Моя проблема заключается в том, что я не могу получить обратный вызов для запуска «успеха» - мои данные обрабатываются и сохраняются в моем php-скрипте, и ответ также выглядит нормально.Триггеры вызова AJAX jsonp терпят неудачу, хотя ответ кажется ОК

Я пытался со следующим:

var url = "my.php"; // the script where you handle the form input. 

var request = $.ajax({ 
     type: "GET", 
     url: url, 
     dataType: 'jsonp', 
     data: { name: signupName, email: signupEmail, date: signupDate}, 
     success: function(data) 
     { 
      if(data.returned_val == "succes") { 
       //all good 
      } 
     }, 
     error:function() { 
      console.log("fail"); 
     } 
    }); 
    return false; 
} 

Из моего сценария РНР им распечатки ответа JSON, который выглядит как: {"returned_val":"succes"}

+0

jsonp нуждается в функции обратного вызова - вы можете изменить это на json – mplungjan

ответ

0

JSONP требует, чтобы сервер возвращает ответ, завернутый в функция обратного вызова. В принципе, ваш PHP скрипт должен отвечать следующим

header("Content-Type: application/json"); 
echo $_GET['callback'].'({"returned_val":"succes"})'; 

Таким образом, JS примет ответ как действительный и вызвать обратный вызов.

+0

что-то вроде этого? echo $ _GET ['callback']. Json_encode (array ('returns_val' => 'succes')); - попробовал это без везения :(... Btw, которые возвращают следующий ответ: jQuery1102009731390838320186_1424959177965 {"return_val": "succes"} – user1231561

+0

Извините. Неправильные цитаты! Это должно быть: echo $ _GET ['callback']. '({"return_val": "succes"}) '; – imelgrat

+0

Пробовал обновленный, и теперь он дает мне: ReferenceError: callback не определен – user1231561

Смежные вопросы