在我的Web API項目我已經從我的數據源返回數據的獲取方法:的WebAPI - 數據返回的XML時,我要求它作爲JSONP
[WebGet(UriTemplate = "")]
public IQueryable<Product> Get()
{
var products = _db.Products;
return products.AsQueryable();
}
當我在瀏覽器測試客戶端查看此,當我指定返回爲JSON時,它工作正常,並返回JSON。
在我的另一個客戶端上,我必須創建一個JSONP,因爲我的API託管在同一個域上(僅用於開發),但是從JSON請求返回的數據是XML,我怎樣才能使它返回JSON?下面是我的代碼發出請求:
$.ajax({
crossDomain: true,
dataType: "jsonp",
url: "http://localhost:9000/api/products",
contentType: 'application/json; charset=utf-8',
type: "get",
success: function (data) {
console.log(data);
}
});
看起來您仍在使用現在已過時的WCF Web API而不是較新的ASP.NET Web API。請參閱http://nuget.org/packages/AspNetWebApi –
@達雷爾米勒 - 良好的捕獲。我甚至沒有注意到'WebGet'屬性。 – EBarr
我已經把它換成了使用ASP.NET Web API並使用了'EBarr'的答案 – CallumVass