Мне нужно использовать вызов $.ajax()
в jQuery, чтобы опубликовать немного JSON для моего PHP-скрипта.Проблемы с вызовом jQuery AJAX (POST to PHP)
Я пробовал все, но ничего не работает, как хотелось бы. Я просто пытаюсь повторить var_dump массивов $ _POST/$ _ GET, но он возвращается пустым.
var myJSONObject = {"bindings": [{"conversation": _conid} ]};
var obj = $.toJSON(myJSONObject);
$.ajax({
type: "POST",
url: "./code/ajax/fetch_messages.php",
data: obj,
async:true,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data)
{
},
error: function (XMLHttpRequest, textStatus, errorThrown)
{
},
beforeSend: function (XMLHttpRequest)
{
},
complete: function (XMLHttpRequest, textStatus)
{
}});
Я могу видеть, что пост сделан, просматривая заголовки:
{ "привязок": [{ "разговор": "38x001c61450ad4d5abd47c37408e8236eb5427f54e2930000306882646e4016c5f8ecf8e00a18a26ab3b6d07f6727bd187625daaedf951f93072d54d59e300e100"}]}
PHP:
echo var_dump($_POST);
Все работает отлично при использовании вызова $.post()
, но я всегда сталкиваюсь с проблемами, когда Я пытаюсь переключиться на $.ajax
. Мне нужно использовать его, чтобы иметь возможность получить ответ UTF-8, закодированный.
Код, вставленный в этот пост, является лишь одним из многих фрагментов, которые я пробовал, даже примеры из учебных пособий в Интернете не работают.
Может кто-нибудь, пожалуйста, дайте мне фрагмент, который, как вы знаете, работает, чтобы я мог попробовать? Отправка JSON через POST.
Нет, это не сработало. Он изменил формат отправленного заголовка из JSON в myjson =% 7B% 22bindings% 22% 3A% 5B% 7B% 22conversation% 22% 3A% 2238x001c61450ad4d5abd47c37408e8236eb5427f54e2930000306882646e4016c5f8ecf8e00a18a26ab3b6d07f6727bd187625daaedf951f93072d54d59e300e100% 22% 7D% 5D% 7D – Josef
Попробуйте удалить линию 'CONTENTTYPE' из опций '$ .ajax' или установите его в' 'application/x-www-form-urlencoded'' – bfavaretto
Yeey! вот в чем проблема! Благодарю. Странно, что учебники не рассматривали его как проблему. – Josef