在jQuery中调用URL

时间:2015-08-22 12:21:02

标签: jquery ajax url

我想拨打一个网址。目前我使用隐藏的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的长度有问题吗?文件字符串很长。我没有收到错误消息。

1 个答案:

答案 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对象。