如何在AJAX中调用外部PHP文件

如何在AJAX中调用外部PHP文件,php,javascript,ajax,Php,Javascript,Ajax,我有代码检查test.php文件中的用户名和密码 但是当我调用这个ajax时,它总是显示错误用户名和密码的警告。 谁能告诉我哪里出了问题 $.ajax({ type: "GET", url: 'http://externalurl/external/test.php', contentType: "text/html", data: 'uname=' + uname + '&pass=' + pass, success: function (dat

我有代码检查test.php文件中的用户名和密码

但是当我调用这个ajax时,它总是显示错误用户名和密码的警告。
谁能告诉我哪里出了问题

$.ajax({
    type: "GET",
    url: 'http://externalurl/external/test.php',
    contentType: "text/html",
    data: 'uname=' + uname + '&pass=' + pass,
    success: function (data) {
        if (data == 'success') {
            alert('success');
        } else {
            alert('Wrong user name and password.Please try again');
        }
    }
});
您对ajax的
数据
字段使用了不正确的格式

不,Javascript通常不允许您通过ajax从外部服务器访问数据

起源http://externalhost 是不允许的 访问控制允许源

编辑:

但是,您可以设置
crossDomain
dataType:'jsonp'
从外部服务器获取JSON数据

您对ajax的
数据
字段使用了不正确的格式

不,Javascript通常不允许您通过ajax从外部服务器访问数据

起源http://externalhost 是不允许的 访问控制允许源

编辑:


但是,您可以设置
crossDomain
数据类型:'jsonp'
,以便从外部服务器获取JSON数据。

“我哪里出错了?”=>您正在使用GET发送密码。检查Firebug或Chrome的开发工具中的网络控制台,看看实际响应是什么。还有,James所说的,并且您没有为
数据使用对象,这将导致某些字符出现问题。使用
数据:{uname:uname,pass:pass}
代替@ThiefMaster:我使用了这个
数据:{uname:uname,pass:pass}
但仍然存在相同的问题“我哪里出错了?”=>您正在使用GET发送密码。请检查Firebug中的网络控制台或Chrome的开发工具,看看实际的响应是什么。还有,James所说的,并且您没有为
数据使用对象,这将导致某些字符出现问题。使用
数据:{uname:uname,pass:pass}
代替@ThiefMaster:我使用了这个
数据:{uname:uname,pass:pass}
但仍然存在相同的问题,现在它在firebugs net窗口中显示响应,但不向itdo发出警报
警报(数据)。ie,
success:function(json){alert(json)}
@Kunal!!你说你已经做了是什么意思。它在提醒什么?。除非您从PHP返回JSON数据,否则它不会发出任何警报。这意味着我已经尝试了以下代码:
alert(data)。ie,success:function(json){alert(json)}
但仍然发出警报,不显示响应进入firebugs net窗口,即是和否,这是因为Javascript不允许您从外部服务器访问非json数据。你根本不读书吗?。使用JSON从服务器响应。现在它在Firebug net窗口中显示响应,但不向itdo发出警报
警报(数据)。ie,
success:function(json){alert(json)}
@Kunal!!你说你已经做了是什么意思。它在提醒什么?。除非您从PHP返回JSON数据,否则它不会发出任何警报。这意味着我已经尝试了以下代码:
alert(data)。ie,success:function(json){alert(json)}
但仍然发出警报,不显示响应进入firebugs net窗口,即是和否,这是因为Javascript不允许您从外部服务器访问非json数据。你根本不读书吗?。使用JSON从服务器响应。
$.ajax({
    type: "GET",
    url: 'test.php',
dataType: 'jsonp',
    contentType: "text/html",
    crossDomain:'true',
    data: {uname: "admin", pass: "admin"},
    success: function (json) {
        //process the json here.
    }
});