Jquery表单不在Web服务器上显示提交消息,但它在本地主机上显示提交消息

我搞砸了一个奇怪的问题。 我的表单在本地计算机上工作正常但是当我将其上传到某个Web服务器时,它无法正常工作。 没有在线上传,当我添加一些值并单击提交。 它显示了ThankYou消息。 但是当它被上传时,在添加任何值之后,当添加一些值并按下提交时,值会输入到数据库但它不显示Thankyou消息,而是保持原样。 请提出一些解决方案。 我该怎么做才能让它在线工作? 我应该发送包含表单的单个HTML文件吗? 请看这里的表格: http : //dl.dropbox.com/u/33855631/lon_dec/form.htm

我也试过上传到像bluehost等不同的服务器,但没有解决方案。

您确实提出了跨域请求( http://www.londondeclaration.com/wp-admin/admin-ajax.php ),您的浏览器不允许这样做。 将前端和后端托管在同一个域上,或者(如果不可能)将代理托管到您自己域上的外部源。

正如@PPvG已经提到的,这看起来像跨域脚本。 通常,可以执行croos-domain脚本,但必须按照此处的指定设置相应的HTTP标头。 这就是详细情况:

  1. 用户访问DomainA上的网页,包括一些JavaScript(即jQuery)
  2. 用户提交按钮,jQuery向DomainB上的服务器发出请求
  3. 结果返回给用户浏览器,但是每个plicy 客户端都禁止来自DomainA的脚本检查从DomainB检索到的响应。 了解在客户端上实施安全性非常重要。

如何解决问题:您在DomainB上的应用程序必须设置正确的HTTP响应头 ,以便浏览器允许来自DomainA的jQuery脚本使用DomainB的响应:

Access-Control-Allow-Origin:DomainA 

这可能仍不适用于所有情况。 也就是说,当涉及到HTTPS时,Internet Explorer确实执行了相当严格的规则,如果我记得错误的cookie管理也是一个问题。

编辑:在谷歌浏览器中,您可以轻松地看到这是问题所在:

在此处输入图像描述