2012-07-05 114 views
0

處理JSON數據我有一個問題,處理的數據來自服務器,請參見下文代碼:問題與服務器

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中的成功函數不處理任何東西,所以s uccess =失敗..

殼體1:從所述服務器發送例如JSON數據,{ '錯誤'=> 1, 'MSG'=>文件存在},在這種情況下每一件事情是確定。 enter image description here

情況2:從服務器發送例如JSON數據,{「toshow」 => linkdatta ...等},所以在添加在JSON問題的任何HTML標記的情況下啓動,以便成功功能不是在所有工作

enter image description here

+0

成功裏面的alert(數據) – 2012-07-05 11:51:22

+0

什麼都沒有發生,因爲我告訴過你發送任何html標籤內部我的json沒有成功功能 – 2012-07-05 11:53:30

+0

你能看到錯誤控制檯的錯誤? – 2012-07-05 11:54:28

回答

1

在你的PHP文件集內容類型爲JSON:

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

謝謝男人.... :) – 2012-07-05 12:20:20

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

    } 
} 

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

+0

我不是成功函數內部得到所有當我發送的JSON數據中的HTML標籤... – 2012-07-05 11:57:13

+0

檢查與螢火蟲,並檢查AJAX請求工作或沒有 – 2012-07-05 11:58:36

+0

Ajax請求的工作100%每事確定,問題是僅使用JSON數據來自服務器 – 2012-07-05 12:01:13