Ajax 请求失败的原因

Ajax Request Fails why?

本文关键字:失败 请求 Ajax      更新时间:2023-09-26

遵循我的代码:

    $('#btnOK').click(function(e){
        e.preventDefault();
        $form = $('#testForm');
        dataString = $form.serialize();
        $.ajax({
            type: "POST",
            url: 'https://abc.com/login',
            data: dataString,
            dataType: 'xml',
            success: function( returnData ) {
                alert(returnData);
            }
        });
    });

我的代码无法向页面发出 ajax 请求 http://abc.com/login 并且没有给出结果。这里有什么错误?

是否由于跨域可能:
我的域名: http://xyz.com
登录域:http://abc.com/login

除非您的abc.com域配置为处理跨域策略,否则您将无法进行跨域 ajax 调用

一种解决方案是将您的 ajax 调用重定向到域xyz.com服务器端代理,该代理发送您的数据并从abc.com获取响应(例如使用 CURL )。

或者,如果您控制abc.com域,则可以发送适当的标头(访问控制-*)以允许跨域调用

我的域:http://xyz.com登录域:http://abc.com/login

这是您可以解决的跨域问题

  1. 您网站上的代理

  2. 来自 abc.com 站点的 JsonP 支持

  3. 如果您只想发布并且不在乎结果是什么,您可以创建一个表单和一个 iframe,然后将表单的目标设置为该 iframe,然后只需发布(不适用于启用 csrf 的网站)

只需使用 chrome 或 ie 调试器调试它,在 click() 函数的入口处做一个断点,然后一步一步地发现问题。