2014-12-03 48 views
0

我正在通過使用jQuery ajax向PHP控制器發出AJAX請求,但是當試圖使用PHP獲取發佈的數據時,$ _POST爲空。以下是實際功能:AJAX post在服務器端爲空(PHP)

function GetSeriesForManufacturer(manuf) { 
    selectedmanufacturer = manuf; 
    //Make an AJax Call For Getting Series Of Manufacturer 
    var series = null; 
    $.ajax({ 
     type: "POST", 
     url: url, 
     data: "{manufacturer:'" + selectedmanufacturer + "'}", 
     contentType: "application/json", //; charset=utf-8", 
     dataType: "json", 
     cache: false, 
     async: false, 
     success: function (response) { 
      //remove loading gif 
      $(".loading").hide(); 
      //Append Data 
      AppendSeries($.parseJSON(response.text), selectedmanufacturer); 
      //Custom Scrollbar Call 
      $('.MatchingSeries ul').mCustomScrollbar();       
     }, 
     error: function (XMLHttpRequest, textStatus, errorThrown) { } 
    });       
} 

在此先感謝!

+3

凡定義'url'? – CD001 2014-12-03 13:18:02

+0

謝謝你的回答,我剛剛用「url」取代了實際的url,帖子正常發生,正如我在firebug控制檯中看到的。 – Panos 2014-12-03 13:19:17

+4

問題可能出在這一行上:'data:「{manufacturer:'」+ selectedmanufacturer +「'}」,'。字符串或對象,而不是具有對象的JS表示的字符串。嘗試'數據:{製造商:selectedmanufacturer},'而不是。 – 2014-12-03 13:20:17

回答

1

首先,你不需要字符串化數據。只需發送對象文字即可。

data: {manufacturer: selectedmanufacturer}, 

其次,你不需要這行:

contentType: "application/json", 
+0

我很確定這會解決它...(只是打敗了我) - 將代碼扔在本地開發盒上,並擺脫了'contentType'行解決了我的版本問題。 – CD001 2014-12-03 13:49:53

+0

@Leo Deng我嘗試刪除contentType:「application/json」,因爲它在我發佈之前在類似的線程中建議,但沒有任何更改。但將這些與數據修改結合起來似乎有效,我會在一分鐘內接受答案。謝謝,以及在這篇文章中回覆的所有人。 – Panos 2014-12-03 13:54:04

+0

@Panos這是個詭計。一次我也嘗試在發送數據之前對對象進行字符串化,並最終發現jQuery正在處理它。 – Leo 2014-12-03 14:05:27

0

讓jQuery的做編碼爲您提供:

$.ajax({ 
    type: "POST", 
    url: url, 
    data: { 
     manufacturer: selectedmanufacturer 
    }, 
    contentType: "application/json", //; charset=utf-8", 
    dataType: "json", 
    cache: false, 
    async: false, 
    success: function (response) { 
     ... 
    }, 
    error: function (XMLHttpRequest, textStatus, errorThrown) { }}); 
+0

不幸的是,它似乎沒有改變任何東西。但是,無論如何謝謝你! – Panos 2014-12-03 13:38:07