1

我有一个 jquery 问题,我认为这是一个 jquery 问题,但我正在调用一个带有 ajax 调用的 php 页面。显然这很容易,但是当我使用它时,我不断收到 500 错误。我已经尝试了我能想到的一切。但我没有得到任何地方。我确定这是因为我不是 jquery 大师,所以如果你是我可以使用你的大脑。

请记住,这在本地有效,但在生产中无效:

$('#submit').on('click', function(e){
  e.preventDefault();
  if($('#signupForm').valid())
  {
    var data = $('#signupForm').serializeObject();

    $.ajax({
      type: "POST",
      url: 'http://pathtooweb.com/funcs/signup.php',
      data: data,
      success: function(data) {
        toastr.success(data, "Thank you!");
        $("#signupForm").trigger( "reset" );
      },
      error: function(xhr, ajaxOptions, thrownError) {
        console.log(xhr.responseText);
      }
    });
  }
});

这是我在控制台上遇到的实际问题:

POST http://pathtooweb.com/funcs/signup.php 500 (Internal Server Error) jquery.js:7845
x.support.cors.e.crossDomain.send jquery.js:7845
x.extend.ajax jquery.js:7301
(anonymous function) pathtooweb.com/:84
x.event.dispatch jquery.js:4676
y.handle

更新:

这不是一个跨域问题,它在某种程度上是一个服务器错误.. 来看看我何时将我的代码推送到 github,然后再推送到我的服务器,我使用的库之一没有上传到 github,所以反过来又没有被拉到服务器上。不能说为什么没有 .gitignore 文件。所以无论如何,感谢您的“建议”。:)

4

1 回答 1

-1

伙计,我猜你正在尝试跨域 POST ..!! 通过 ajax 是不允许的。根据网络标准,这是一个严格的 NO NO。!!

可能在本地,您在 ajax 请求中使用了不同的 URL。它也在本地托管。是这样吗?

如果您想要跨域 POST.. 通过将表单操作 URL 作为跨域 URL 直接将表单发布到该 URL。

第二个选项是使用 jsonP 作为 ajax 请求中的数据类型。这是一个 hack,但有效。

于 2013-10-05T17:33:41.560 回答