发送ajax请求包含http字符串

时间:2018-07-17 20:48:57

标签: javascript php ajax

将带有Ajax的表单发送到php页面时,一切正常,直到我的字段之一包含一些带有前缀http://的url字符串。 我从ajax请求中得到了错误(禁止)。

这是我的js代码:

$('#ajaxForm').submit(function(event) {
  event.preventDefault();

  var form_data = $(this).serializeArray();
  console.log(form_data);

  $.ajax({
      type        : 'POST',
      url         : 'functions/ajax_functions.php',
      dataType  : 'json',
      data        : form_data,
  })
      .done(function(data) {

          console.log(data);
          return;
      })
      .fail(function(xhr, status, error) {
          console.log(error);
      });
});

仅当输入值包含“ http:// ...”时,如果发送了任何其他字符串,则错误才会出现-请求已成功发送。

这是我的控制台日志屏幕截图: console log

更新:

  • 我尝试使用encodeURI和encodeURIComponent函数。我在控制台中看到特殊字符已更改,但无济于事。
  • 此外,尝试为我的所有文件提供777权限,但没有帮助

谢谢!

1 个答案:

答案 0 :(得分:0)

感谢IVO GELOV!对于我来说,这是正确的答案。

我的Apache服务器上有一个名为ModSecurity的防火墙。 我在此当前子域上禁用了此选项,并且……WALLLLLA ...

我知道现在我的子域失去了模块提供的额外保护, 但我发现了问题,并确定问题不在我的代码中。

谢谢大家!