У меня есть объект JSON (postData
) Я хочу отправить на веб-службу PHP.JSON - jquery to php; как POST данные
$.ajax({
url: postLink,
type: 'POST',
data: JSON.stringify(postData),
complete: function() {
console.log('COMPLETE: tried to send json');
},
success: function (data) {
console.log("Success" + data);
if (data.success) {
// do something
}
},
error: function (error) {
console.log("ERROR" + error);
}
});
В PHP (Symfony) Я прочитал это так:
$content = htmlspecialchars_decode($this->get('request')->getContent(), ENT_NOQUOTES);
$data = array();
if (!empty($content))
{
$data = json_decode($content, true);
var_dump($content);
Я получаю INTERNAL SERVER ERROR на json_decode
. Я считаю, что это потому, что (по моему var_dump
) в формате JSON приходит через к WebService выглядит следующим образом:
"auth":{"username":" ...
Я даже пытался добавить htmlspecialchars_decode
преобразовать эти цитаты обратно в "'... but it still comes back as
" `
Я не знал, что делать. Поэтому любые идеи очень ценятся.
'JSON.stringify' создает строку для печати в формате HTML. Откуда берутся ваши данные? Попробуйте использовать 'serialize' или' serializeArray' в вашей форме. – Twifty
вы можете зарегистрировать свой аккаунт: JSON.stringify (postData). Если вы отправите json-объект, php поймет его как массив (если это объект js) – MouradK