0

我正在通过 ajax 从 php 向 jquery 发送一些数据。

如果$content="ABC";一切正常。我对 ABC 保持警惕。

如果$content="<div>ABC</div>";那么休斯顿有问题。什么都没有发生。

这是PHP代码

$json = json_encode(array("content" => $content));
echo $json;

这是jQuery

 $('#'+pic_type+'_form_n_'+pic_number).ajaxSubmit({
 success: function(responseimage){
 result = jQuery.parseJSON(responseimage);
 alert(result.content);

有任何想法吗 ?

更新! 我已删除jQuery.parseJSON ,因此该行只有此代码

result = responseimage;

现在我得到了警报的结果。结果如下

{"content":".<div>ABC&lt;\/div&gt;."}</div>

所以我们可以看到 JSON 没有创建好。我已经尝试过 utf8_encode 和 trim ,但它们对结果没有任何作用。结果很奇怪。

4

3 回答 3

0

您以某种方式提供了无效的 json - 请将您的原始响应放入JSONLint,它会告诉您出了什么问题。

于 2012-12-06T12:30:33.387 回答
0

PHP(和 JSON)代码看起来不错,前提是变量 $content 实际上有任何内容。否则 PHP 脚本将失败,这就是你的问题。

您是否在 AJAX 请求中将dataType定义为“json”?

$.ajax({
    url: 'json.php',
    dataType: 'json',
    success:function(data){
        console.log(data);
    }
});
于 2012-12-06T11:49:25.023 回答
0

我认为你只需要utf8_encode在做之前做出回应json_encode。只需更改此:

$content = utf8_encode("<div>ABC</div>");
于 2012-12-06T12:19:22.523 回答