我想拨打一个网址。目前我使用隐藏的iFrame来调用此URL:
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的长度有问题吗?文件字符串很长。我没有收到错误消息。
答案 0 :(得分:1)
而不是使用decodeURIComponent($.param(data)),
,只需使用编码方法.param作为$.param(data),
decodeURIComponent完成它所说的内容,解码它并且你想使用$ .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对象。