表单提交工作正常,但 CORS 与 ajax 有关



>我有一个表单,其中包含对处理帖子的网站的操作。当我在操作中使用 url 点击提交时,它可以工作。问题是,当表单提交或出现错误时,它会将我带到另一个页面,因此显示"成功"或"错误"(我不希望它带我到另一个页面,只需将响应返回到我的页面,以便我可以制作模态或其他东西(。我尝试了许多不同的方法,但是当我使用 AJAX 时,我得到了"访问控制-允许-源"。如果我已经被允许在没有它的情况下发布帖子,为什么我会得到这个?

当表单标题为以下情况时有效:

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: *},
)};

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

附言我正在使用Flockler进行提交,我无法控制如何将数据发布到他们的服务器。

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

我希望这有所帮助。

最新更新