Jquery 如何从json输出中删除[";]?
我有这个密码:Jquery 如何从json输出中删除[";]?,jquery,json,Jquery,Json,我有这个密码: $(document).ready(function() { $('#inverter_err').change(function() { var qString = 'err=' +$(this).val(); $.post('err_query.php', qString, processResponse); }); function processResponse(data) { if(data != "false") { $
$(document).ready(function() {
$('#inverter_err').change(function() {
var qString = 'err=' +$(this).val();
$.post('err_query.php', qString, processResponse);
});
function processResponse(data) {
if(data != "false") {
$("#result").html(data).show("slow");
}
else {
$("#result").hide("slow");
}
}
});
当err_query.php(这是一个简单的sql查询,产生一个echo json_encode($array);)
得到肯定结果时,结果将显示为[“结果”]
如何删除
[“”]
?我只需要显示文本。您需要解析响应。试试这个:
data = JSON.parse(data);
或者,如果要使用jQuery:
data = $.parseJSON(data);
您需要解析响应。试试这个:
data = JSON.parse(data);
或者,如果要使用jQuery:
data = $.parseJSON(data);
看起来它返回了一个JSON数组,所以:
var value = JSON.parse(data)[0];
看起来它返回了一个JSON数组,所以:
var value = JSON.parse(data)[0];
您应该更改以下行:
$.post('err_query.php', qString, processResponse);
到
这表明期望从服务器获得的数据类型是JSON。您应该更改以下行:
$.post('err_query.php', qString, processResponse);
到
这表明服务器需要的数据类型是JSON。您(或jQuery)不应该解析JSON响应吗?对不起,我是jQuery的新手。你能给我举个例子吗?欢迎来到堆栈溢出!@MattBall的意思是——这就是JSON的输出方式,不管语言(JavaScript或其他)如何——键和值都使用双引号。要通过它进行解析,您应该参考jquery的文档:而且要清楚,您提供的示例是一个包含一个字符串的数组<代码>[]表示数组。您(或jQuery)不应该解析JSON响应吗?对不起,我是jQuery的新手。你能给我举个例子吗?欢迎来到堆栈溢出!@MattBall的意思是——这就是JSON的输出方式,不管语言(JavaScript或其他)如何——键和值都使用双引号。要通过它进行解析,您应该参考jquery的文档:而且要清楚,您提供的示例是一个包含一个字符串的数组
[]
表示数组。如果PHP发送正确的内容类型
标题,或者如果您提供正确的数据类型,jQuery应该自动解析响应$.post(url,data,handler,json)
如果我使用$.post(url,data,handler,json),我只会得到一个空div。我也尝试了MattyMo的建议,这里我也得到了一个空div。如果PHP发送正确的内容类型
标题,或者如果您提供了正确的数据类型,jQuery应该自动解析响应$.post(url,data,handler,json)
如果我使用$.post(url,data,handler,json),我只会得到一个空div。我还尝试了mattytommo的建议,这里我也得到了一个空div。默认值是“智能猜测”,它基于响应。如果服务器响应为纯文本,JSON将无法正确解析数据。实际上,var value=JSON.parse(data)[0];默认值是“智能猜测”,它基于响应。如果服务器响应为纯文本,JSON将无法正确解析数据。实际上,var value=JSON.parse(data)[0];成功了。