ajax jquery php提交

ajax jquery php提交,php,jquery,ajax,Php,Jquery,Ajax,我有一个简单的php表单,它有一个用户文本框和传递文本框,我们称之为login.php。我还有另一个php页面,我们称之为sendtologin.php,我想通过jquery ajax将凭证“发送”到login.php。login.php在server1上,sendtologin.php在server2上。当我尝试加载sendtologin.php时,我得到一个状态代码0和error。这是我的剧本 $(document).ready(function () { $.ajax({

我有一个简单的php表单,它有一个用户文本框和传递文本框,我们称之为login.php。我还有另一个php页面,我们称之为sendtologin.php,我想通过jquery ajax将凭证“发送”到login.php。login.php在server1上,sendtologin.php在server2上。当我尝试加载sendtologin.php时,我得到一个状态代码0和error。这是我的剧本

$(document).ready(function () {
        $.ajax({
            type: "POST",
            url: "http://server1/login.cgi",
            data: { lang_changed: "no", username: "me", password: "me" },
            success: function (data) { alert("success!"); },
            error: function (request, type, errorThrown) {
                alert("request: " + request.status + 
                      "\nrequestText: " + request.statusText +
                      "\nType: " + type + 
                      "\nException: " + errorThrown); }
        });
    });

我做错了什么?

最好的办法是将登录凭据传递到“login.php”(如果它与ajax调用位于同一服务器上),然后使用php的cURL函数将发布的变量传递到第二个域的“login2.php”


我经常使用这种网关/传递技术,它可以解决那些讨厌的跨域策略问题。

最好的办法是将登录凭据传递到“login.php”(如果它与ajax调用位于同一服务器上),然后使用php的cURL函数将发布的变量传递到第二个域的“login2.php”


我经常使用这种网关/直通技术,它可以解决那些讨厌的跨域策略问题。

我也遇到了这个问题,因为Ajax调用的目的是为了安全起见在单个服务器上工作,所以当您将调用发送到另一个服务器时,您不会收到响应,因此,“成功”的方法是行不通的。这并不意味着server1没有收到数据,但是您无法验证数据是否正确


另一种解决方案是,如果您拥有server1上数据库的登录信息,您可以使用php连接到数据库并授予对源服务器的访问权,然后您可以基于该数据库连接进行所有ajax调用。

我也遇到了这个问题,问题是,出于安全原因,Ajax调用的目的是在一台服务器上工作,因此当您将调用发送到另一台服务器时,不会收到响应,因此“success”方法不起作用。这并不意味着server1没有收到数据,但是您无法验证数据是否正确

另一种解决方案是,如果您拥有server1上数据库的登录信息,您可以使用php连接到数据库并授予对源服务器的访问权,然后,您可以基于该数据库连接进行所有ajax调用。

没有JSONP或代理,您无法执行跨浏览器请求没有JSONP或代理,您无法执行跨浏览器请求