2012-06-29 169 views
0

我有一個Web應用程序,我一直在工作一段時間。我使用AJAX技術使用HTTP POST請求發送數據。使用AJAX的Http POST請求

我使用JavaScript這樣的:

var rdate=document.getElementById('rdate').value; 
var Description=document.getElementById('description').value; 
var urlstring="rdate="+rdate+"&Description="+Description; 

oxhr.open("POST","http://localhost/info/php/store.php",false); 
//checking for ready state change here 

oxhr.send(urlstring); 

但在數據庫中,我看到的一切空白(無數據,但行創建) 不應該urlstring包含變量?或者可能是JavaScript中可能出現的錯誤。

任何幫助,非常感謝。

+0

那麼,*是否*?使用Firebug/Fiddler/IE Developer Tools等工具查看*真正發送的內容。 (我希望從給出的代碼中自己得到一個語法錯誤,但是......) – 2012-06-29 18:15:45

+3

'var urlstring =「admin_id =」rdate =「+ rdate +」&Description =「+說明;'是無效的JavaScript。引號和運算符不夠' – apsillers

+0

我修改了我的問題對不起,該字符串中沒有admin_id –

回答

1

解決方案(以找到這個問題,因爲人不是物理):使用工具如Firebug/Fiddler2/IE開發者工具,或其他,看看有什麼真的發送,或者如果請求甚至提出。

雖然我不會聲稱以下是一個答案,上述手動字符串建立在帖子中是...痛苦的,不是很健壯。這裏是一個小有用的功能:

function encodeParams(params) {  
    var components = [] 
    for (var k in params) { 
     if (params.hasOwnProperty(k)) { 
      var v = params[k] 
      components.push(encodeURIComponent(k) + "=" + encodeURIComponent(v)) 
     } 
    } 
    return components.join("&") 
} 

用途爲:

var queryString = encodeParams({ 
    admin_id: 1, 
    rdate: rdate, 
    Description: description 
}) 

這也正常編碼的組件,以便查詢字符串不會成爲corruptued。

快樂編碼。

+0

FirePHP確實幫助我解決了我的問題謝謝大家。 –