2013-06-19 132 views
0

我正在尝试使用jQuery ajax进行跨域OData请求,如下所示。使用jQuery的跨域OData请求ajax

jQuery的

$(function() { 
$.ajax({ 
    url: 'http://localhost:62526/OdataServer/Odata.svc/vw_listing&$format=json&$callback=?', 
    dataType: "jsonp", 
    jsonpCallback: "addData" 
}); 
}); 

function addData(jsonString) { 
for (var i = 0; jsonString.d[i] != null; i++) { 
    $("#itemParent").append("<li>" + jsonString.d[i].Address + "</li>"); 
} 
} 

数据服务

public class Odata : DataService<testEntities> 
{ 

public static void InitializeService(DataServiceConfiguration config) 
{ 
    config.SetEntitySetAccessRule("*", EntitySetRights.AllRead); 
    config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2; 
} 
} 

当我试图打电话给使用AJAX DataService的,我得到一个400错误。

Failed to load resource: the server responded with a status of 400 (Bad Request) 
http://localhost:56403/OdataServer/Odata.svc/vw_listing&$format=json&$callback=addData?_=1371713035531 
+0

欢迎S.O.你能否添加一些细节?问题是什么?当你说“不工作”时,你的意思是什么? –

+0

@DanieleArmanasco感谢您的快速回复。更新了问题。添加了错误详细信息。 – Shanavas

回答

1

这解决了我的问题

$(function() { 
$.getJSON('url?' +'$format=json&$callback=?', 
    function (response) { 
     $.each(response.d, function (index, value) { 
      ............................ 

     }) 
    }); 
}); 

Shanz

0

您的url的参数查询字符串需要以?

'http://localhost:62526/OdataServer/Odata.svc/vw_listing?$format=json&$callback=?'