表单提交工作正常,但 ajax 存在 CORS 问题

rya*_*ack 5 javascript forms ajax jquery

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

当表单标题为:

form accept-charset="UTF-8" class="" id="contestForm" enctype="multipart/form-data" action='url' method='post'>
Run Code Online (Sandbox Code Playgroud)

我提出的请求示例。

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

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

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

Tan*_*jee 0

请添加CORS header \xe2\x80\x98Access-Control-Allow-Origin:<requster_domain>\xe2\x80\x99来接受您的请求。通过 Ajax,它会带来安全威胁,因此浏览器会阻止它,这是有道理的。否则任何人都可以打开浏览器控制台并可能通过 ajax 调用轰炸服务器。但是,如果您的服务器信任来自您的域的调用,则可以减轻安全风险。

\n\n

我希望这有帮助。

\n