从服务器处理json数据的问题

时间:2012-07-05 11:48:58

标签: php javascript jquery

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

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'=&gt; someData}时,我没有问题..当我在javascript中发送任何html标签如{'data'=>"<span>some data</span>"}成功函数时没有处理任何事情所以成功=失败..

案例1:从服务器示例发送json数据,{'error'=&gt; 1,'msg'=&gt;文件存在},在这种情况下,每件事情都可以。 enter image description here

案例2:从服务器示例发送json数据,{'toshow'=&gt; linkdatta ... etc},所以如果在json问题中添加任何html标记,那么启动成功函数根本无法正常工作

enter image description here

2 个答案:

答案 0 :(得分:1)

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

header('Content-type: application/json');
echo json_encode(.........);

答案 1 :(得分:0)

success: function(data){
   var temp = jQuery.parseJSON(data);
    if(temp.error == 1){

   }
}

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

相关问题