【问题标题】:AJAX get then redirect after success成功后AJAX获取然后重定向
【发布时间】:2012-08-14 05:01:48
【问题描述】:

我正在尝试使用 ajax 获取表单数据以发送到 api url,然后将填写表单的用户重定向到感谢页面。

<form id="valform">
<!-- form elements -->
</form>
<div id="status_message"></div>

简单的表单代码在上面,ajax代码在下面

$(document).ready(function(){
var API_URL = 'http://www.some-api-provider.com/api.php';    
$('#valform').on('submit', function (e){
e.preventDefault();

$.ajax({
  type: 'GET',
  url: API_URL,
  data: $('#valform').serialize(),
  success: function () {
    window.location.href = "thankyou.html";

  },
  error: function () {
    alert('There was a problem!'); // do something better than this!
  }
});
return false;
});

这段代码有问题吗?我一直在 GET 部分收到警报消息,所以我假设那里有问题。

【问题讨论】:

  • 跨域 AJAX 本身就是一个问题。
  • 有认证参数吗?

标签: jquery ajax forms get


【解决方案1】:

除非您的文件与API_URL 托管在同一域中,否则 AJAX 将停止您的请求,这就是您看到错误消息的原因。这是为了阻止XSS (Cross Site Scripting),这是一种黑客技术。这称为same-domain 策略。

【讨论】:

  • 在同一台服务器上托管文件?
  • 或使用服务器收集 API 数据,通过托管在同一域上的代理。
  • 我无法在同一台服务器上托管文件,API url 是附属的
  • @user1532944 试试crossDomain : true,
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-20
  • 1970-01-01
  • 1970-01-01
  • 2018-05-28
  • 1970-01-01
  • 1970-01-01
  • 2016-10-09
相关资源
最近更新 更多