Я использую jquery-1.3.2 в веб-приложении AJAX. Я использую метод jQuery ajax $.post()
для отправки запросов на сервер.
На сервере я использую php для построения массива, а затем json_encode
ответ. Затем на клиенте я использую функцию обратного вызова метода post AJAX для обработки ответа.
Все работает хорошо, пока я не использую метод $.post()
для отправки переменных на сервер. Если я отправляю переменные на сервер, я получаю ответ [Object Object], и поэтому я не могу его проанализировать. В данный момент у меня есть обходной путь, когда при публикации переменных я запрашиваю ответ HTML, а затем анализирую его.
Итак, соответствующий код взят с моего сайта:
Джекс звонит:
$.post("inc/sendfeedback.php", {NAME: name,TYPE: type,EMAIL: email,COMMENT: comment}, function(data) {PostData(data);}, "json");
Итак, код PostData выглядит следующим образом:
function ProcessData(data)
{
//alert(data);
var jo = eval("(" + data + ")");
if(jo.result == "true")
{
if(jo.data != "" && jo.element != "")
{
$(jo.element).html(jo.data);
}
}
SMessage(jo.error);
}
Если я раскомментирую приведенный выше код, в котором содержится предупреждение [объект объекта].
если я удаляю переменные Post из вызова, он работает нормально.
Код сервера выглядит следующим образом:
$arr = array ("result" => $result,"data" => $data,"error" => $error,"element" => $element);
echo(json_encode($arr));
Это ошибка с библиотекой jQuery, я пробовал ее с версией 1.2, но она все еще присутствовала там? Я также ищу на сайте jQuery и не могу найти никого, имеющего эту проблему.
Так что я предполагаю, что что-то упустил. Но что?