2011-11-02 48 views
1

好吧,我想發送一個完整的url到一個php文件,其中也包含參數假設url就像文件夾/ test.php?parm1 = 19 & parm2 = 119 & param3 = 345。
什麼IAM做的是把它像這樣下面是pesudocode如何以更清潔的方式發送URL在jQuery的PHP?

var urlParameter="urlparameter="+(above url) 
$.ajax({ 
type: "POST", 
url: "some.php", 
data:urlParameter , 
}).done(function(msg) { 
alert("Data Saved: " + msg); 
}); 

現在some.php當我將訪問urlParameter我不會讓我的完整的URL我只會

folder/test.php?parm1=19 

爲使完整的完整網址,我必須得到param2值和param3,然後再次形成網址這個工作好,但是有沒有更好的方式發送完整的網址與參數在jQuery中?

+0

我覺得MUU正確地回答了你的問題,但你所描述的是一個GET,不是POST。通過POST,您的請求URL是some.php,但有GET請求,您的URL將是some.php?param1 = A&param2 = B。您可以在PHP中使用$ _GET或$ _POST訪問這些文件,或者在$ _REQUEST中訪問這些文件,如果您沒有使用您的請求進行處理。 –

+0

哦,對不起,您是對的,我只是將僞代碼 –

+0

@MickSear對我來說,它看起來像OP想要使用URI作爲參數之一進行POST請求。這樣做沒有錯, – Phil

回答

2

當然,你可以這樣做:發送請求參數

data = { 
    'param1' : 19, 
    'param2' : 119, 
    'param3' : 345 
} 

$.post('/some.php', data, function(msg) { 
    alert("Data Saved: " + msg); 
}) 
+0

沒有我的網址建立像這個文件夾/ test.php?parm1 = 19&parm2 = 119&param3 = 345。我想把它作爲字符串發送 –

+0

嘗試去:「data:{'data':urlParameter}」「而不是」data:urlParameter「。 – 2011-11-02 10:58:24

+0

好的,謝謝,讓我試試看。 –

1

使用對象的符號,如

$.post("some.php", { 
    urlParameter: "folder/test.php?parm1=19&parm2=119&param3=345" 
}, function(data) { 
    // etc 
}); 
+0

非常感謝您的幫助。 –

0

你應該考慮使用逃生方法的字符串,在發送之前和之後在你的PHP代碼中,使用它。

http://www.w3schools.com/jsref/jsref_escape.asp

+1

您應該閱讀您鏈接的頁面; * escape()函數不應該用於編碼URI。請使用encodeURI()函數。* – Phil

+0

我不同意你的看法,他的情況是'?'或者'&'或者'='似乎是獲取他想要的數據的問題。 encodeURI()指定此函數對特殊字符進行編碼,除了:,/? :@&= + $#(使用encodeURIComponent()來編碼這些字符)。 所以真正使用的方法是encodeURIComponent(),在他的情況下逃生應該工作。 –