【发布时间】:2016-02-14 14:39:17
【问题描述】:
我已经向 php 服务器发出了一个 ajax 请求,我从表单请求中发送了一个数据,我想从服务器取回相同的数据,只是为了测试客户端和客户端之间抛出的相同数据的请求和响应服务器。
$.ajax({
method: "POST",
url: "addRaces",
dataType: "json",
data : sending_data,
success : ...
})
sending_data 是一个类似{field_form_name : value} 的数组
服务器使用以下代码响应请求:
$data = [];
foreach ($request->Input() as $key => $value) {
$data[$key] = $value;
}
return json_encode($data);
相同的数据应该返回给客户端,但 alert(response) 或显示调试数据的 jquery (如 $('#debug').html(response);)不会发生任何事情
当我尝试像
那样推送服务器答案时出现了奇怪的事情return json_encode([
'debug' => $data['name']
]);
并向客户显示结果,例如
$('#debug').html(response.debug);
它适用于单个键值响应,显示我从客户端发送的正确值字段。
否则,我是否将完整的 data 作为数组发送,客户端的调试区域中不会显示任何内容。
【问题讨论】:
-
您的开发者工具控制台中有任何错误吗?此请求的开发者工具网络中显示了什么?
-
你应该使用
echo json_encode($data); -
我使用
JSON.stringify()提取数据作为从服务器接收到的字符串,显示我需要的所有内容。我尝试了来自服务器的echo指令,但结果没有改变。网络选项卡中的开发人员工具不显示任何错误。我想我可以在 javascript 中使用 JSON 函数来显示来自服务器的答案。
标签: javascript php jquery json ajax