JQuery - Ajax: encodeUriComponent不工作(EncodeUri工作)
JQuery - Ajax: encodeUriComponent not working (EncodeUri does)
在一个小的asp.net web客户端中,我有以下ajax调用。
$.ajax({
type: "GET",
url: "Search.aspx?action=GetDocumentInfoByChronicleId&" + querystring
})
.success(function (msg) {
$("#documentcontent").html(msg);
})
querystring
适用于默认字符,但在使用特殊字符时似乎不起作用(参见下面的示例)
objectId=09028139800c59e3&Db=DIV_Firm <== Works
objectId=090281>>773c5983&Db=DIV_Firm <== Non Working
基于此(以及更多关于SO的帖子),我选择改变我的ajax调用如下(EncodeUriComponent
)。但似乎没有一个是工作的(,即使与原来的querystring)。
$.ajax({
type: "GET",
url: "Search.aspx?action=GetDocumentInfoByChronicleId&" + encodeURIComponent(querystring)
})
.success(function (msg) {
$("#documentcontent").html(msg);
})
注意: EncodeUri
似乎正在工作。但我更喜欢使用EncodeUriComponent
如果有一些方法可以在ajax调用时传递数据,哦,等等,有,使用data
选项
$.ajax({
type : "GET",
url : "Search.aspx",
data : {
action : 'GetDocumentInfoByChronicleId',
objectId : '09028139800c59e3',
Db : 'DIV_Firm'
}
});
jQuery将为您创建querystring并对其进行转义
作为旁注,encodeURI
正是你应该用来编码包含?
, &
等的querystring,因为encodeUriComponent
也会转义这些字符,使querystring无效,但上面发布的方法要简单得多,因为你根本不用担心编码。
相关文章:
- Javascript:selenium Web驱动程序isDisplayed()不工作
- jQuery UI自动完成突然停止工作
- AngularJS UI路由器不能像ng路由器那样工作
- HTML5音频加载和播放获胜'我不能在iPad上工作
- JavaScript打印功能使日历停止工作
- Javascript.getHours()工作不正常
- 为什么这在IE中的工作方式与在Firefox中不同
- 视频HTML没有'无法在Internet Explorer 11上工作
- 扩展移相器按钮类不工作
- Firebase迁移-简单的Firebase.set没有'不再工作了——旧的还是新的
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- 正在尝试使用if和else添加类,但无法正常工作
- Jquery FadeIn FadeOut 只工作一次
- Foreach无法在Typescript中工作
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 为什么不是't窗口.恢复正常工作吗?(javascript/jquery)
- JS可以在Chrome中工作,但不能在Firefox中工作
- ajaxToolkit PopupControlExtender不工作.过时的
- HTML标记在脚本标记中工作
- JQuery - Ajax: encodeUriComponent不工作(EncodeUri工作)