ajax jquery php提交
我有一个简单的php表单,它有一个用户文本框和传递文本框,我们称之为login.php。我还有另一个php页面,我们称之为sendtologin.php,我想通过jquery ajax将凭证“发送”到login.php。login.php在server1上,sendtologin.php在server2上。当我尝试加载sendtologin.php时,我得到一个状态代码0和error。这是我的剧本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({
$(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或代理,您无法执行跨浏览器请求