2011-06-24 55 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