Use*_*999 2 javascript asp.net ajax jquery urlencode
在一个小的asp.net webclient中,我有以下Ajax调用.
$.ajax({
type: "GET",
url: "Search.aspx?action=GetDocumentInfoByChronicleId&" + querystring
})
.success(function (msg) {
$("#documentcontent").html(msg);
})
Run Code Online (Sandbox Code Playgroud)
querystring默认字符的工作原理但在使用特殊字符时似乎不起作用(参见下面的示例)
objectId=09028139800c59e3&Db=DIV_Firm <== Works
objectId=090281>>773c5983&Db=DIV_Firm <== Non Working
Run Code Online (Sandbox Code Playgroud)
基于此(以及更多关于SO的帖子我选择改变我的ajax调用如下(EncodeUriComponent).但似乎没有一个工作(即使使用原始的查询字符串).
有人能向我指出我做错了什么吗?
$.ajax({
type: "GET",
url: "Search.aspx?action=GetDocumentInfoByChronicleId&" + encodeURIComponent(querystring)
})
.success(function (msg) {
$("#documentcontent").html(msg);
})
Run Code Online (Sandbox Code Playgroud)
注意: EncodeUri似乎工作正常.但我更喜欢使用EncodeUriComponent
如果在执行ajax调用时有某种方式传递数据,那会不会更容易哦,等等,有,使用data选项
$.ajax({
type : "GET",
url : "Search.aspx",
data : {
action : 'GetDocumentInfoByChronicleId',
objectId : '09028139800c59e3',
Db : 'DIV_Firm'
}
});
Run Code Online (Sandbox Code Playgroud)
jQuery将为您创建查询字符串并适当地转义它
作为旁注,encodeURI正是您应该使用它来编码包含等的查询字符串?,&因为它们encodeUriComponent也会转义这些字符,使查询字符串无效,但上面发布的方法更简单,因为您不必担心编码一点都不
| 归档时间: |
|
| 查看次数: |
8304 次 |
| 最近记录: |