gpt4 book ai didi

javascript - jquery param() 没有正确编码包含 "&"的参数

转载 作者:行者123 更新时间:2023-11-30 10:51:05 24 4
gpt4 key购买 nike

我的应用程序基于 Ajax 请求/响应。我创建所有参数的对象并使用 jquery param() 方法生成查询字符串。它工作正常,但是当某些参数中包含“&”时,它不会正确编码,因此在这种情况下服务器会返回错误。当数据包含“&”字符时,有人可以告诉我如何在这种情况下创建查询字符串吗?

var url = "http://www.abc.com"
url += "?username='abc'";
url += "&" + $.param(params);

/*
params values are follows:

params[name] = 'test'
params[id] = 1234
params[xyz] = 'entertainment & games'
*/

还建议我是否必须更改服务器端脚本中的某些内容才能正确解码

最佳答案

jQuery.param()方法按预期编码。这个片段...:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><title></title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript"><!--
jQuery(function($){
var params = {
name: "test",
id: 1234,
xyz: "entertainment & games"
};

var url = ""
url += "&" + $.param(params);

alert(url);
});
//--></script>
</head>
<body>


</body>
</html>

... 提醒:&name=test&id=1234&xyz=entertainment+%26+games

您没有说明错误是什么,但值得注意的是,有效的查询字符串应以 ? 开头,而不是 &:

var url = ""
url += "?" + $.param(params);

关于javascript - jquery param() 没有正确编码包含 "&"的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5310350/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com