表单提交工作,但CORS问题与ajax

时间:2017-04-07 22:32:31

标签: javascript jquery ajax forms

我有一个表单,其中包含处理帖子的网站的操作。当我在动作中使用url命中提交时,它可以正常工作。问题是,当提交表单或者出现错误时,它会将我带到另一个页面,因此显示“成功”或“错误”(我不希望它带我到另一页,只需将响应返回给我的页面,所以我可以做一个模态或东西)。我尝试了很多不同的方法,但是当我使用AJAX时,我得到了“Access-Control-Allow-Origin”。如果我已经被允许在没有它的情况下发帖,为什么我会得到这个呢?

表格标题为:

时有效
form accept-charset="UTF-8" class="" id="contestForm" enctype="multipart/form-data" action='url' method='post'>

我提出的请求示例。

$.ajax({
  method: 'POST',
  url: url,
  dataType: 'json' or 'jsonp',
  headers: {'Access-Control-Allow-Origin: *},
)};

等等(对不起,可能不完整,因为我在提问之前已经重新开始)。知道如何在点击提交按钮时不进入提交页面吗?

P.S。我使用Flockler进行提交,我无法控制数据如何发布到他们的服务器。

1 个答案:

答案 0 :(得分:0)

请在服务器中添加CORS header ‘Access-Control-Allow-Origin:<requster_domain>’以接受您的请求。通过Ajax,它打开了安全威胁,因此浏览器将其阻止了。否则任何人都可以打开浏览器控制台,并可能用ajax调用轰炸服务器。但是,如果您的服务器信任来自您域的呼叫,则可以减轻这种安全风险。

我希望这会有所帮助。