JQuery POST с тем же запросом не работает - PullRequest
0 голосов
/ 08 июля 2010

у меня следующая проблема

$("#btnsave").click(function () {
    $.post('svld.php', {
        'fnd': $('#fnd').attr("value")
    }, function (data) {
        alert(data);
    }, 'json');
}

slvd.php

header('Content-type: application/json');

    var_dump(json_encode($_POST));

в запросе я вижу следующее

fnd http://ya.ru

и имеют большой отклик

string(24) "{"fnd":"http:\/\/ya.ru"}"

но предупреждение (данные) не запущено

если я делаю тот же запрос для файла parse.php в той же папке

if($_POST['fnd']){

 header('Content-type: application/json');
 echo json_encode($cntTags->returnArrayTags());
}

все отлично работает Есть идея, что это может быть?

заголовок списка

Date Thu, 08 Jul 2010 12:16:02 GMT
Server Apache/2.2.14 (Win32) PHP/5.3.0
X-Powered-By PHP/5.3.0
Content-Length 38
Keep-Alive timeout=5, max=99
Connection Keep-Alive
Content-Type application/json
Host localhost
User-Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
Accept application/json, text/javascript, */*
Accept-Language ru,en-us;q=0.7,en;q=0.3
Accept-Encoding gzip,deflate
Accept-Charset windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive 115
Connection keep-alive
Content-Type application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With XMLHttpRequest
Referer http://localhost/tz/
Content-Length 22
Cookie spylog_test=1

Ответы [ 2 ]

2 голосов
/ 08 июля 2010

Проблема в том, что ваш HTTP-запрос возвращает эту строку:

string(24) "{"fnd":"http:\/\/ya.ru"}"

Что происходит, так это то, что jQuery пытается разобрать это, но не удается, потому что это недопустимая строка JSON.

Попробуйте использовать echo вместо var_dump:

echo json_encode($_POST);

var_dump() выводит другую информацию, которая вам не нужна, и это испортит JSON-анализ jQuery.

1 голос
/ 08 июля 2010
Content-Type application/json Заголовки запросапоказать исходный код

выглядит чуждо мне.Выглядит как ошибка набора символов.

try

header('Content-type: application/json; charset=UTF-8');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...