2016-01-18 89 views
0

我正在發送帶有數據的POST請求,但我沒有收到任何數據。正在獲取內容長度但沒有內容

調用請求:

$.ajax({ 
    type:"POST", 
    url:"ajaxtest.lp", 
    dataType:'json', 
    contentType:'json', 
    data:"{name:'lolbert',surname:'roflcopter'}" 
}) 

這是怎麼回事了:

部首:

Connection 
close 
Content-Type  
text/html 
Date  
Thu, 01 Jan 1970 07:24:40 GMT 
Server 
Core4Web 
Quelltext anzeigen 
Accept 
application/json, text/javascript, */*; q=0.01 
Accept-Encoding 
gzip, deflate 
Accept-Language 
de,en-US;q=0.7,en;q=0.3 
Content-Length 
31 
Content-Type  
json; charset=UTF-8 
Host  
192.168.207.117 
Referer 
http://192.168.207.117/ajaxtest.lp 
User-Agent 
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:42.0) Gecko/20100101 Firefox/42.0 
X-Requested-With  
XMLHttpRequest 

POST(通過螢火蟲):

name=lolbert&surname=roflcopter 

但是我在服務器端收到的是奇怪的。 內容長度正確(37個字符),但內容本身缺失。

****請求
script_file請求script_file ajaxtest.lp
client_content_type請求client_content_type JSON;字符集= UTF-8
CLIENT_PORT請求CLIENT_PORT 64626
方法請求方法交
CLIENT_ADDRESS請求CLIENT_ADDRESS 192.168.203.59
client_content_length請求client_content_length 37
甕請求甕/ajaxtest.lp
script_vpath請求script_vpath /ajaxtest.lp
script_path請求script_path /usr/lib/htdocs/ajaxtest.lp
script_pdir請求script_pdir/usr/lib中/ htdocs中/
script_vdir請求script_vdir/
**** header
Content-Type header Content-Type json;字符集= UTF-8
Accept-Encoding頭接受編碼的gzip,放氣
X-請求-隨着頭X-請求-使用XMLHttpRequest
Accept-Language頭接受語言DE,的en-US; Q = 0.7,烯; q = 0.3
Connection頭連接保持活動
附註頭附註無緩存
Content-Length頭的Content-Length 37
主機頭主機192.168.207.117
用戶代理頭用戶代理Mozilla/5.0(Windows NT 6.1; WOW64; rv:42.0)Gecko/20100101 Firefox/42.0
Accept header Accept application/json,text/javascript,/; Q = 0.01
Referer標頭的Referer http://192.168.207.117/ajaxtest.lp
Cache-Control頭緩存控制無緩存
****文件
script_path文件script_path /usr/lib/htdocs/ajaxtest.lua
script_pdir文件script_pdir/USR/lib/htdocs/
urn文件urn ajaxtest.lua
script_vpath文件script_vpath/ajaxtest。LUA
nesting_level文件nesting_level 1
script_file文件script_file ajaxtest.lua
script_vdir文件script_vdir/

+2

您應該將對象作爲數據傳遞給'$ .post'方法,而不是string:'data:{「name」:「lolbert」,「surname」:「roflcopter」}'。並將其設置爲有效的JSON表示法,因爲您正在設置'contentType:'json','(甚至不知道jQuery如何處理它?!) –

回答

0
$.ajax({ 
    type:"POST", 
    url:"ajaxtest.lp", 
    dataType:'json', 
    contentType:'json', 
    data:{name:'lolbert',surname:'roflcopter'} 
}); 

請嘗試使用對象發送數據。

+0

除了內容長度更短之外,一切都保持完全相同。 – Sempie

+0

嘗試刪除數據類型,且從的contentType Ajax對象的對象,所以它看起來像這樣 $阿賈克斯({ 類型: 「POST」, 網址: 「ajaxtest.lp」, 數據:{名稱: 'lolbert',姓:'roflcopter'} }); 如果這不起作用 - 那麼鏈接有問題。請告訴我結果 –

0

不是一個正確的JSON數據:http://www.json.org/嘗試:

data: '{"name": "lolbert","surname": "roflcopter"}' 

您可以通過在線工具(如http://jsonlint.com/例如)檢查正確的JSON格式。

+0

現在內容長度是31而不是37,Firebug現在將外發數據標識爲json,數據缺失問題仍然存在。 – Sempie

+0

如果現在Firebug將外發數據識別爲json,可能問題出在服務器端... ajax test.lp的內容是什麼? 順便說一句,用你想發送的數據創建一個對象是一個好主意。 看看這個網址,也許可以幫助:http://www.irayfuego.es/una-sencilla-llamada-ajax-con-jquery/ – Javier