2012-10-01 137 views
8

如何將參數傳遞給XMLHttpRequest對象?將參數傳遞給XMLHttpRequest對象

function setGUID(aGUID) { 

    var xhReq = new XMLHttpRequest(); 

    xhReq.open("POST", "ClientService.svc/REST/SetAGUID" , false); 
    xhReq.send(null); 
    var serverResponse = JSON.parse(xhReq.responseText); 
    alert(serverResponse); 
    return serverResponse; 
} 

我需要使用JavaScript,而不是jQuery的,jQuery中我得到了它,使用此代碼工作,但不能似乎弄明白直JavaScript的方式..

function setGUID(aGUID) { 

    var applicationData = null; 

    $.ajax({ 
     type: "POST", 
     url: "ClientService.svc/REST/SetAGUID", 
     contentType: "application/json; charset=utf-8", 
     data: JSON.stringify({ aGUID: aGUID }), 
     dataType: "json", 
     async: false, 
     success: function (msg) { 

      applicationData = msg; 

     }, 
     error: function (xhr, status, error) {); } 
    }); 

    return applicationData; 

} 

回答

11

有很多在互聯網上關於「xmlhttprequest post」的教程。我只是複製的一個,然後:

請看:

http://www.openjs.com/articles/ajax_xmlhttp_using_post.php

https://www.google.com/search?q=xmlhttprequest+post

var http = new XMLHttpRequest(); 
var url = "url"; 
var params = JSON.stringify({ appoverGUID: approverGUID }); 
http.open("POST", url, true); 

http.setRequestHeader("Content-type", "application/json; charset=utf-8"); 
http.setRequestHeader("Content-length", params.length); 
http.setRequestHeader("Connection", "close"); 

http.onreadystatechange = function() { 
    if(http.readyState == 4 && http.status == 200) { 
     alert(http.responseText); 
    } 
} 
http.send(params); 
+0

什麼HTTP?一個新的XMLHttpRequest()? –

+0

固定,但是。 – lolol

+2

以下幾行現在會引發一個「不安全標題錯誤」: http.setRequestHeader(「Content-length」,params.length); http.setRequestHeader(「Connection」,「close」); 我試圖讓這個工作沒有這些線,但參數似乎並沒有設置.. – galactikuh