Привет, ребята, я новичок в JSONP. Все, что я пытаюсь сделать, это просто отправить простые данные формы. Я понимаю, что вы не можете POST использовать jsonp, поскольку это стандартный скрипт GET-запрос. Ниже я попробовал и serialize () или serializeArray () данные формы, но ничего не включено в запрос GET, пожалуйста, дайте мне знать, где я иду не так?
HTML:
<form class="qd-bd-frm" name="qd-bd-frm" id="qd-bd-frm">
<input type="hidden" value="9614d609b2b7987d734" name="uid" />
<p>
<textarea class="qd-input" placeholder="Your Message" name="msg"></textarea>
</p>
<p>
<input type="button" class="qd-btn" value="Send" />
</p>
</form>
Jquery:
$.ajax({
url: "http://www.cross-domain.com/send",
dataType: "jsonp",
data: $("#qd-bd-frm").serializeArray(),
jsonpCallback: "sent",
success: function (result)
{
alert(JSON.stringify(result));
},
complete: function (xhr, status)
{
alert(status);
},
error: function ()
{
}
});
PHP:
public function send()
{
header( "Content-Type: application/json" );
echo "sent(".json_encode( $_GET ).");";
die();
// example response: sent({"callback":"sent","_":"1425338880075"});
}
Если вы видите выше, я просто повторяю ответ, и в моей функции успеха выше, ни один из моих входных данных формы не был включен. Я также вижу это, если я проверяю вкладку скриптов в firebug, что на сервер было отправлено только 2 параметра. Есть идеи, что мне здесь не хватает?
Задача ещё не решена.
Других решений пока нет …