2015-03-25 78 views
2

我有一個後聲明,

$.post("panel.php", 'data=[{"action":"UserInfo"}]', function (userInfo){ 
    //processing 
}); 

我需要它轉換爲$就這樣使它因此,

$.ajax({ 
       type: "POST", 
       url: "panel.php", 
       data: { data: [{"action":"UserInfo"}]}, 
       contentType: "application/json; charset=utf-8", 
       dataType: "json", 
       success: function(userInfo) { 
        //processing 
       } 
}); 

但交變沒有被髮送。這不正確嗎?

+0

'$。員額是$阿賈克斯的簡寫[...]',這裏更多的信息:https://api.jquery.com/jquery.post/(可能是語義挑剔,但我認爲重要的是要注意$ .post()不會執行純HTTP POST,其中包括導航到另一個頁面) – cypherabe 2015-03-25 09:51:14

回答

0

嘗試這樣,

$.ajax({ 
       type: "POST", 
       url: "panel.php", 
       data: {"action":"UserInfo"}, 
       success: function(userInfo) { 

       } 
}); 
+0

刪除contentType和dataType屬性 – 2015-03-25 09:49:06

+0

@Lalit Sharma爲什麼必須這樣做? – 2015-03-25 09:50:42

+0

當你傳遞這樣的值時。數據類型不需要定義 – 2015-03-25 09:51:29

1

data刪除data,並保持在一個變量,你發送之前字符串化如下

var data={"action":"UserInfo"}; 
$.ajax({ 
       type: "POST", 
       url: "panel.php", 
       data: JSON.stringify(data), 
       contentType: "application/json; charset=utf-8", 
       dataType: "json", 
       success: function(userInfo) { 
        //processing 
       } 
}); 
+1

沒有必要對'.ajax'的JSON對象進行字符串化。 – 2015-03-25 09:53:10

+0

@DarkAshelin。我從未說過它的必要性。我只是要求嘗試這種方式。誰知道用戶將在服務器端接收它的方式? – 2015-03-25 09:56:13

0

data屬性未寫爲正確的JSON:

data: { "data": [{"action":"UserInfo"}]}, 

你在你的JSON對象內部的項目周圍需要引號。您可以使用JSONLint來檢查您的JSON對象是否有效。

3

你可以嘗試這樣的事:

$.ajax({ 
       type: "POST", 
       url: "panel.php", 
       data: {"action":"UserInfo"}, 
       success: function(userInfo) { 
        //processing 
       } 
}); 
+1

您應該移除'dataType'屬性,因爲它沒有在原始'$ .post'中設置,所以它只會導致意外的結果。 – jeroen 2015-03-25 09:55:22

+1

謝謝提及。 :) – 2015-03-25 09:58:42

0
$.ajax({ 
       type: "POST", 
       url: "panel.php", 
       data: {"action":"UserInfo"}, 
       dataType: "json", 
       success: function(userInfo) { 
        //processing 
       } 
}); 

需要一個小的變化。有一個預定義的格式,以在AJAX發送數據,

  1. 數據:{狀態:狀態,名稱:名稱},
  2. 數據: 「狀態=」 +狀態+ 「&名稱=」 +名稱。

按照任何一種方法。

3

試試這個

$.ajax({ 
        type: "POST", 
        url: "panel.php", 
        data: "action="+"UserInfo", 
        success: function(userInfo) { 
         //processing 
        } 
    });