我正在使用网址重写并使用
$('#somediv').load(query, function (response, status, xhr) {
if (status == "error") {
var msg = "Sorry there was an error: ";
$("#somediv").html(msg + xhr.status + " " + xhr.statusText);
}
});
但是当我的query
具有'?','&'等字符时div.laod()不会工作和'='。
就像我传递如beloew所示的参数一样,div渲染不会发生。
query ="http://vmsbawcm001.ed.cps.something.com/content/pms/Snapshot.html?date=2011-09-30&email=something@gmail.com&view=external"
但这有效!
query ="http://vmsbawcm001.ed.cps.something.com/content/pms/Snapshot.html"
那么如何以某种编码方式传递参数?或任何其他解决方案是受欢迎的,因为我无能为力..
经过一些更多的研究,我怀疑只有@
符号才会产生问题。是这样吗?如果是,那可能的解决办法是什么?
谢谢, 阿达什讷
答案 0 :(得分:2)
.load()
中的第二个参数用于传递查询数据。这是参考:http://api.jquery.com/load/。
演示:http://jsfiddle.net/ThinkingStiff/EKHbQ/
HTML:
<div id="somediv"></div>
脚本:
var uri = 'http://vmsbawcm001.ed.cps.something.com/content/pms/Snapshot.html',
data = {date:"2011-09-30",email:"something@gmail.com",view:"external"};
$( '#somediv' ).load( uri, data, function ( response, status, xhr ) {
if ( status == 'error' ) {
var msg = 'Sorry there was an error: ';
$( '#somediv' ).html( msg + xhr.status + ' ' + xhr.statusText );
};
});