一尘不染

与PHP文件和本地javascript文件的JSON跨域通信

json

我是JSON新手,但是在PHP和javascript方面有很好的经验。问题很简单,答案可能更简单。我无法将数据从服务器上的PHP文件发送到本地的另一个PHP文件,该文件将从服务器接收JSON格式的数据。我究竟做错了什么?

Javascript Frag(本地)

$(document).ready(function(){
//attach a jQuery live event to the button
$.getJSON('http://www.xpal.com/ws_users.php?action=get_user_data&user_id=33',function(data) {

        alert(data); //uncomment this for debug
        $('#showdata').html("<p>Username= "+data.username+"<br> Email= "+data.email+"<br> Firstname="+data.firstname+"<br> Lastname="+data.lastname+"</p>");
    });

});

PHP Frag(服务器@ xpal.com):

$ users =新用户;

if($_GET['action']=="get_user_data")
{
$user_id=$_GET['user_id'];
$assoc=array(
                "username"=>$users->return_username($user_id),
                "email"=>$users->return_user_emailid($user_id),
                "firstname"=>$users->return_user_firstname($user_id),
                "lastname"=>$users->return_user_lastname($user_id)
            );
echo json_encode($assoc);
}

编辑:

错误消息:XMLHttpRequest无法加载xpal.com/ws_users.php?action=get_user_data&user_id=33。Access-
Control-Allow-Origin不允许Origin本地主机。


阅读 263

收藏
2020-07-27

共1个答案

一尘不染

要使用jsonp,如其他建议所示,您必须输入“ callback =?”。在网址末尾,或使用$
.ajax()并将dataType指定为jsonp。这里的例子。

2020-07-27