0

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

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 调用数据服务时,出现 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
4

2 回答 2

1

这解决了我的问题

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

        })
    });
});

山兹

于 2013-07-12T05:55:33.947 回答
0

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

'http://localhost:62526/OdataServer/Odata.svc/vw_listing?$format=json&$callback=?'
于 2013-06-28T14:50:48.343 回答