使用带有phonegap的jquery mobile获取Odata

时间:2015-06-18 01:51:53

标签: cordova jquery-mobile odata

我开发了一个应用程序,我可以从服务器URL http://user:password@xx.xx.x.xxx:xxxx/odata/OdataTMEDVDB/dbname获取数据?$ format = JSON& $ filter = YEAR%20eq%202015& $ top = 10& $ callback =?

这个查询在浏览器上工作正常,在使用phonegap编译后,该事件根本不会触发获取数据 这是代码

var query = "http://user:password@xx.xx.x.xxx:xxxx/odata/OdataTMEDVDB/dbname?$format=JSON&$filter=YEAR%20eq%202015&$top=10&$callback=?"; //this is my callback

                 $.ajax({
                    dataType: 'jsonp',
                    url: query,
                    jsonpCallback: 'callback',
                    success: callback
                });

                function callback(result) {
                    alert("hello");
                    alert(result.d.results.length);
                    var shows = result.d;
                    $('#resultdata').html(shows);
                }

请咨询

1 个答案:

答案 0 :(得分:1)

某些浏览器可以拒绝URL基本身份验证密码。尝试使用beforeSend

将密码直接添加到标题中
$.ajax({
   dataType: 'jsonp',
   url: 'http://xx.xx.x.xxx:xxxx/odata/OdataTMEDVDB/dbname?$format=JSON&$filter=YEAR%20eq%202015&$top=10&$callback=?',
   jsonpCallback: 'callback',
   success: callback,
   //New code:
   beforeSend: function (xhr) {
      xhr.setRequestHeader ("Authorization", "Basic user:password");
   },
});