Javascript 无法使用phonegap和ajax调用将json数据发布到远程服务器

Javascript 无法使用phonegap和ajax调用将json数据发布到远程服务器,javascript,json,ajax,cordova,Javascript,Json,Ajax,Cordova,我正在尝试从运行在移动数据(phonegap框架)上的javascript函数向远程服务器发送json数据。代码如下所示 函数sendJSONtoServer(){ //警报(“对sendJSONtoServer的调用启动成功”); $.ajax({ 网址:'http://myserver.edu/~sas0090/save userinfo.php', 数据:{'message':“Hey Hi”}, 键入:“GET”, 数据类型:'json', 跨域:是的, contentType:“应用

我正在尝试从运行在移动数据(phonegap框架)上的javascript函数向远程服务器发送json数据。代码如下所示

函数sendJSONtoServer(){ //警报(“对sendJSONtoServer的调用启动成功”); $.ajax({ 网址:'http://myserver.edu/~sas0090/save userinfo.php', 数据:{'message':“Hey Hi”}, 键入:“GET”, 数据类型:'json', 跨域:是的, contentType:“应用程序/json;字符集=utf-8”, 成功:功能(数据){ //它是有效的,对数据做点什么 警报(“您的评论已成功添加”); }, 错误:函数(){ //出现问题,请处理错误并显示消息 警报(“添加评论时出错”); } }); 警报(“对sendJSONtoServer的调用结束成功”); }检查index.html文件中带有
http equiv=“Content Security Policy”
参数的
标记。进行适当的(将您的域列入白名单)更改


如果其php将此添加到服务器端脚本的开头以避免同源策略消息,这可能会有所帮助

     if (isset($_SERVER['HTTP_ORIGIN'])) {
     header("Access-Control-Allow-Origin: *");
     header('Access-Control-Allow-Credentials: true');    
     header("Access-Control-Allow-Methods: GET, POST, OPTIONS"); 
     }   

     if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
     if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD']))
     header("Access-Control-Allow-Methods: GET, POST, OPTIONS");         
     if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']))
     header("Access-Control-Allow-Headers:{$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}");
     exit(0);
     }

你不使用POST方法吗?我认为
contentType:“application/json;charset=utf-8”
不是必需的,因为您提到了
dataType
属性。如果一切顺利。我对你的url中的~符号很好奇。还有更详细的调试,请打印错误函数
参数
。我尝试删除contentType,但没有成功。关于“~”字符,我有一个远程服务器,它有一个主目录供我登录。我的主目录也有公共的html,用于放置我的php文件。因此,我访问页面作为