2011-06-24 84 views
0

我有一個關於json的問題。首先,我做這jQuery代碼±JSON不發佈數據

<script> 
     $('#buy').click(function(){ 
     var items=[]; 
      var item={ 
        firstname:'blabla'     
       }; 
       items.push(item);   
       var sortorder={ items: items }; 
      $.post('post_form.php', 'data='+$.toJSON(sortorder)+'', function(response){  
       alert(response);   
      });     
    }); 
    </script> 

如果你能看到的數據將被髮送到post_form.php但沒有達到它,我想,這代碼:

if(!$_POST["data"]){ 
    echo "Invalid data"; 
    exit; 
} 
include('config.php'); 
$data=json_decode($_POST["data"]); 

foreach($data->items as $item) 
{ 
    $query = "insert into customer (id,firstname) VALUES ('','".mysql_escape_string($item->firstname)."')"; 
    mysql_query($query) or die (mysql_error()); 
    echo 'succes'; 
} 
echo 'fail'; 

每次我得到失敗回聲很奇怪,我用它作爲另一個腳本並且工作得很好。 這個腳本沒有收到數據信息,該如何解決?

的問候和感謝,

弗蘭克

+0

進行轉義,當你回聲$ _ POST [ 「數據」]會發生什麼? – cwallenpoole

+0

我會收到這個「失敗{\」項目\「:[{\」名字\「:\」blabla \「}]}」,奇怪的斜線「\」。順便說一句,我在firebug中得到這個錯誤信息:「未捕獲的異常不能修改一個包裹的屬性」,嗯wtf。 – Frank

回答

3

嘗試使用

$.post('post_form.php', { "data" : $.toJSON(sortorder) }, function(response){  
     alert(response);   
    }); 

後變量會以這種方式

+0

不適用於我;) – Frank

+0

您可以提供鏈接以便在線演示您的代碼嗎? –

+0

http://www.jiro-optiek.nl/通過點擊「kopen」(荷蘭人購買)添加一個太陽鏡,填寫您的信息,這是非常奇怪的,從來沒有這樣做過。 – Frank