Phone-aqax调用问题Access-Control-Allow-Origin不允许使用Origin null。

时间:2013-08-26 18:32:24

标签: ajax cordova cross-domain

我正在尝试调用asmx Web服务,我在web.config中添加了Access-Control-Allow-Origin,我在phonegap白名单中添加了asmx url。

    <script type="text/javascript">
        $(document).on("ready",onDeviceReady);
        function onDeviceReady(){
          $.support.cors=true;
          $.mobile.allowCrossDomainPages = true;
          $.ajax({
            type: "POST",
            contentType: "application/json; charset=utf-8",
            crossDomain:true,
            dataType: "json",
            url:"http://192.168.1.3:812/WebService1.asmx/ObtNegocios",
            data: '{}',
            success: function(msg) {                        
              for(i=0; i < msg.d.length; i++)
                {
                $("#details").append($('<li/>').append($('<a/>').attr("href","prueba2.html?id="+msg.d[i].id.Timestamp+"-"+msg.d[i].id.Pid+"-"+msg.d[i].id.Increment+"-"+msg.d[i].id.Machine).text(msg.d[i].nombre)));
                  console.log(msg.d[i]);
                   }
                   $('#details').listview('refresh');
                   },
                   error: function(msg) {
                   alert(msg.d);
                   console.log(msg);
                   }
                   });
        }
   </script>

当我单击列表项以查看有关它的更详细信息时,会出现问题

选项文件:/// D:/workspace/pruebaPhonegap/assets/www/prueba2.html?id = 1375817236-10972-15564611-8618666 Access-Control-Allow-Origin不允许原点为null。

XMLHttpRequest无法加载文件:/// D:/workspace/pruebaPhonegap/assets/www/prueba2.html?id = 1375817236-10972-15564611-8618666。 Access-Control-Allow-Origin不允许使用null。

这些是Chrome控制台抛出的错误

2 个答案:

答案 0 :(得分:3)

首先在真实设备上进行测试,它将解决您的问题。 检查你的config.xml并添加 <access origin="*" /> ,如果你需要在浏览器中测试使用任何本地服务器(如果php xampp或wamp>

答案 1 :(得分:0)

如果服务器端是PHP,您可以在顶部添加以下行

标题(&#39; Access-Control-Allow-Origin:*&#39;);