将包含多个变量的 URL 作为参数发送到另一个页面
我有一个 Javascript 页面,它将数据发送到 PHP 页面。该数据是具有不同查询字符串的 URL,例如:
var localURL = "http://localhost/app/proxy.php?data=http://myserver.com/game.php?type=loadgame&userInfoName=AA&userPwd=AA&nocache=0.8046834595784704"
$.ajax({
url: localURL,
beforeSend: function (xhr) {
alert('beforesend');
},
success: function (data) {
alert('success: ' + data);
}
});
查询字符串变量的数量可能会有所不同,因此我无法使用 ajax 函数的 data 参数发送它。如果我对数据变量 ($_GET['data'];) 执行 GET,我会得到以下结果:
http://myserver.com//game.php?type=loadgame
我想要得到的是:
http://myserver.com/game.php?type=loadgame&userInfoName=AA&userPwd=AA&nocache=0.8046834595784704
有什么想法吗? :-S
I have a Javascript page, that sends data to a PHP page. That data is a URL with different querystrings, for example:
var localURL = "http://localhost/app/proxy.php?data=http://myserver.com/game.php?type=loadgame&userInfoName=AA&userPwd=AA&nocache=0.8046834595784704"
$.ajax({
url: localURL,
beforeSend: function (xhr) {
alert('beforesend');
},
success: function (data) {
alert('success: ' + data);
}
});
The number of querystring variables can vary, so I can't send it with the data parameter of the ajax function. If I do a GET of the data variable ($_GET['data'];) I get this result:
http://myserver.com//game.php?type=loadgame
and what I'd like to get is:
http://myserver.com/game.php?type=loadgame&userInfoName=AA&userPwd=AA&nocache=0.8046834595784704
Any idea? :-S
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
你必须转义才能获得有效的网址:
You gotta escape to get a valid url:
您缺少的是
localUrl
变量中的 URL 转义。应该是这样的:
如果你在javascript中构造localURL,请使用
escape()
函数What you are missing, is URL escaping in
localUrl
varaible.It should be like this:
if you construct the localURL in javascript, use
escape()
function这就是浏览器看到的:
所以你应该像这样转义字符串“http://myserver.com/game.php?type=loadgame&userInfoName=AA&userPwd=AA&nocache=0.8046834595784704”
This is what the browser sees:
so you should escape the string "http://myserver.com/game.php?type=loadgame&userInfoName=AA&userPwd=AA&nocache=0.8046834595784704" like this
您需要对保留字符进行编码。如果您像这样重组,jQuery 可以自动为您完成此操作:
将请求:
You need to encode the reserved characters. jQuery can do this for your automatically if you restructure like so:
Will request for: