2012-02-22 253 views
2

你好我已閱讀jQuery ajax方法,jQuery在裏面包裝了一些XMLHttpRequest。 我需要(想)重做下一個東西到$ ajax,但我擔心參數。有沒有參數鍵的參數發送到$ ajax url,只需在URL參數中?

var element ; 
    ... 
    if (window.XMLHttpRequest) { // Mozilla, Safari,... 
     http_request = new XMLHttpRequest(); 
    } else if (window.ActiveXObject) { // IE 
     http_request = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    http_request.onreadystatechange = function() { alertContents(element); }; 
    url = unescape(url + parameters); 
    http_request.open('GET', url, true); 
    http_request.send(null); 
+0

不知道我理解這個問題......你想從UNESCAPE功能刪除'parameters' VAR ? – Brendan 2012-02-22 16:29:04

+1

你的問題不是很清楚。我建議你閱讀[documentation](http://api.jquery.com/jQuery.ajax/)並查看示例。 – 2012-02-22 16:30:51

回答

1

使用AJAX相同的代碼所消耗的時間

$.ajax({ 
    type: "get", 
url: "geocode.php?address="+address, 
    dataType: "xml", 
    //async:true, 
    success : function(xmlData){ 
     alert(xmlData);  
    }, 
    error : function(){ 
     alert("Could not retrieve XML file."); 
    } 

    }); 
1

,如果你想使用$阿賈克斯你可以寫

$.ajax({ 
    url: url, 
    type: "GET", 
    data: parameters 
    success: function(data) { 
     alertContents(element); 
    } 
}); 
+0

這裏唯一可能的問題是,如果'parameters'以'?'開頭,這可能是一個問題,儘管我沒有嘗試過。 – 2012-02-22 16:32:50

1

幾乎任何你能做到使用XMLHttpRequest你可以使用jQuery做(jQuery使用XMLHttpRequest阿賈克斯)。

$.ajax({ 
    url: url + parameters, 
    type: "GET", 
    success: function(data){ 
    alert(data); 
    } 
}); 

你也可以設置在數據選項參數,使該類型選項將其發送POST或GET方法根據你提供給它的東西。

$.ajax({ 
    url: url, 
    data: parameters, 
    type: "GET", // or POST, or any other valid type 
    success: function(data){ 
    alert(data); 
    } 
}); 
1

如果我正確理解你的問題,答案是肯定的,你可以。

以下是等價的:

$.ajax({ 
    url: "some.php?name=John&location=Boston" 
}); 

$.ajax({ 
    url: "some.php", 
    data: "name=John&location=Boston" 
}); 

$.ajax({ 
    url: "some.php", 
    data: { 
     name : "John", 
     location : "Boston" 
    } 
});