jQuery-错误414:请求URI太大

时间:2018-12-28 17:09:53

标签: php jquery ajax

我遇到了请求URI太大的问题。我看过这里的各种帖子,建议使用帖子而不是获取。我已经尝试过,但仍然遇到相同的问题。

这是我当前正在使用的代码:

urlData = encodeURIComponent(JSON.stringify(data))
    $.ajax({
        type: "post", 
        cache: false,
        url: "test.php?urldata=" + urlData,
        success: function(data) {
            console.log(data)
        }
    });

我尝试将$.ajax更改为$.post,结果相同。

test.php使用$_REQUEST['varname'],我也尝试过$_POST['varname']

如何在不达到此限制的情况下将数据从浏览器发送到后端php页面?关于我在做什么错的任何指示。 ?

我无权在apache2上进行任何更改。

谢谢

1 个答案:

答案 0 :(得分:1)

您需要做的是在请求的标头中传递大量数据,而不是将其作为URL上的查询字符串。您可以使用jQuery.ajax()来使用data进行此操作。试试:

$.ajax({
  type: 'POST',
  cache: false,
  url: "test.php", // remove the concat causing the error
  data: data, // send your data via the data setting
  success: function(response) {
    $.publish('/imports/refresh_row', response);
  }
});

然后在PHP端,您将可以使用$_POST['varname']来检索data对象中发送的单个项目。