我想呼叫一个网址。目前,我正在使用隐藏的iFrame调用此网址:
var data = {File: file,NAME: 'file.txt'};
<iframe src="requestFile?'+ $.param(data) + '" style="display: none;" ></iframe>
现在,我想使用AJAX来调用文件。该文件只需要调用。我尝试了一个GET请求:
$.ajax({
'url' : 'requestFile?'+ decodeURIComponent($.param(data)),
'type' : 'GET',
'success' : function(data) {
if (data == "success") {
alert('request sent!');
}
}
});
不幸的是,这是行不通的。URL的长度可能有问题吗?文件字符串很长。我没有收到错误消息。
而不是decodeURIComponent($.param(data)),
简单地使用编码方法.param作为$.param(data),
encodeURIComponent会执行所说的操作,将其解码,然后您要使用$ .param应该为您执行的编码:http : //api.jquery.com/jquery.param/
注意:在该页面上,他们在示例中使用了decodeURIComponent,因此您可以看到原始的解码值/将其放入变量中。
重做的代码(我的假设是您确实返回“成功”字符串,而不是这里的实际文件?):
var myparam = var data = {File: file,NAME: 'file.txt'};
$.ajax({
url: 'requestFile?' + $.param(myparam),
type: 'GET'
}).done(function (data) {
if (data == "success") {
alert('request sent!');
}
});
注意:您没有显示如何file
定义,因此我只能假设它是某个地方的JavaScript对象。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句