在responseText中嵌入JSON

时间:2014-07-27 21:55:46

标签: php arrays json

我正在使用jquery iframetransport(用于blob上传),并被迫通过data.responseText访问我的回复。我可以从我的PHP中嵌入简单的JSON,例如

echo json_encode(array("response"=>"hello"));

我的控制台日志将返回

{"response" : "hello"}

但我需要div并从我的PHP请求中连接数据。如果我试图嵌入这个,我马上就失败了:

echo json_encode(array("response"=>"<div>hello</div>"));

我最终得到了

{"response":"hello<\/div>"} 

如何在resposneText中使用这种json数据?

1 个答案:

答案 0 :(得分:2)

或者,您可以将htmlentities()强制转换为响应数组。像这样:

echo json_encode(array('response' => htmlentities('<div>hello</div>')));
// {"response":"<div>hello<\/div>"}
exit;

在检索响应时,由于您需要JSON,请添加dataType:属性:

$.ajax({
    url: 'blahblah.php',
    dataType: 'JSON', // this one
});