【发布时间】:2009-05-01 04:30:27
【问题描述】:
我在 AJAX Web 应用程序中使用 jquery-1.3.2。我使用jQuery ajax $.post() 方法向服务器提交请求。
在服务器上,我使用 php 构建一个数组,然后 json_encode 得到答案。然后在客户端我使用AJAX post方法的回调函数来处理响应。
在我使用$.post() 方法将变量发送到服务器之前,一切正常。如果我将变量发送到服务器,我得到的响应是 [object Object],因此我无法解析它。目前我有一个解决方法,即在发布变量时我请求一个 HTML 响应,然后我解析它。
所以涉及的代码取自我的网站:
Jax 调用:
$.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);
}
如果我取消注释上面的代码,警报中包含 [object Object]。
如果我从调用中删除 Post 变量,它工作正常。
服务器代码如下所示:
$arr = array ("result" => $result,"data" => $data,"error" => $error,"element" => $element);
echo(json_encode($arr));
这是 jQuery 库的错误吗,我在 1.2 版本中尝试过,但它仍然存在?我也搜索了 jQuery 站点,但找不到遇到此问题的人。
所以我假设我错过了一些东西。但是什么?
【问题讨论】: