1

我正在尝试调用 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>

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

OPTIONS file:///D:/workspace/pruebaPhonegap/assets/www/prueba2.html?id=1375817236-10972-15564611-8618666 Access-Control-Allow-Origin 不允许 Origin null。

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

这些是 chrome 控制台抛出的错误,

4

2 回答 2

3

您好,在真机上进行首次测试,它将解决您的问题。检查您的 confix.xml 并添加 <access origin="*" /> 是否需要在浏览器中使用任何本地服务器进行测试(如果是 php xampp 或 wampp)。

于 2013-08-27T08:27:51.577 回答
0

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

header('Access-Control-Allow-Origin: *');

于 2014-01-18T20:11:52.207 回答