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} として送信するときです。問題はありません.. {'data'=>"<span>some data</span>"}JavaScriptの成功関数などのhtmlタグを送信すると、何も処理されないため、成功=失敗します..

ケース 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 に答える