0

我在处理来自服务器的数据时遇到问题,请参阅下面的代码:

php

echo json_encode(array("toshow"=>"<span class='text'><img src='greencheck.png'/>"));

javascript

$('#data').ajaxForm({
                dataType: 'json',
                success: function(data){
                    if(data.error == 1){
                        $('#preview').html("<span class='text'><img src='close.png'/>"+data.filename+" File exsist ..</span>");
                    }else{

                         $('.first').after(data.toshow);
                    }
                }
                }).submit();

问题是当我以 {'data'=>someData} 的形式从服务器发送数据时,我没有问题.. 当我发送任何 html 标签时,例如{'data'=>"<span>some data</span>"}javascript 中的成功函数没有处理任何内容,所以成功 = 失败..

案例 1:从服务器示例发送 json 数据,{'error'=>1,'msg'=>file exists},在这种情况下一切正常。 在此处输入图像描述

案例 2:从服务器示例发送 json 数据,{'toshow'=>linkdatta...etc},因此如果在 json 问题中添加任何 html 标记,则启动成功功能根本不起作用

在此处输入图像描述

4

2 回答 2

1

在您的 php 文件中,将 content-type 设置为 json:

header('Content-type: application/json');
echo json_encode(.........);
于 2012-07-05T11:56:53.860 回答
0
success: function(data){
   var temp = jQuery.parseJSON(data);
    if(temp.error == 1){

   }
}

http://api.jquery.com/jQuery.parseJSON/

于 2012-07-05T11:52:27.913 回答