2015-04-03 188 views
0

我想通過發送JSON格式的數據來實現ajax調用。 一些錯誤的語法 例如:通過發送json發送json

var string_json='{"usr":{"name":"john","surname":"do"}}'; 
$.ajax({ url:"myurl",type:"post",data:{user:JSON.stringify(string_json)}, 
success:function(info){ 
     alert(info);     } 
      }) 

PHP端:

$var=$_POST['user']; 
$user=json_decode($var); 
echo $user->usr->name ; 

在呼叫HTTP結束,我什麼也看不到的信息提示。

回答

0

string_json已經是JSON格式,所以你可以這樣做:

data: {user: string_json} 

然而,最好打電話JSON.stringify原來的對象,而不是手工構建JSON字符串。

var user = { usr: { name: "john", surname: "do" } }; 
$.ajax({ 
    url: "myurl", 
    type: "post", 
    data: { user: JSON.stringify(user) } 
    success: function(info) { 
     alert(info); 
    } 
}); 
+0

謝謝,現在都清楚了 – Soxnaples 2015-04-03 08:33:20

0

數據需要是一個字符串,因此請在您設置數據的任何位置調用JSON.stringify。

var usr : { 
    name : "john", 
    surname : "do" 
    }; 
$.ajax({ url: "myurl", type:"post", data: JSON.stringify({ user: usr }), 
success: function(info){ 
      alert(info);     
     } 
});