我试图学习MVC4 Web API。我正在从VS2010本身运行我的项目。
我的项目网址是localhost:31735
从浏览器本身直接调用WebAPI时。它的工作方式类似于localhost:31735 / api / products /
我现在想从项目外的普通HTML文件中调用Webapi。
我试图这样做
$(document).ready(function () {
// Send an AJAX request
$.getJSON("http://localhost:31735/api/products/",
function (data) {
// On success, 'data' contains a list of products.
$.each(data, function (key, val) {
// Format the text to display.
var str = val.Name + ': $' + val.Price;
// Add a list item for the product.
$('<li/>', { html: str }).appendTo($('#products'));
});
});
});
但这不起作用。你能帮忙吗?
答案 0 :(得分:3)
我现在想从项目外的普通HTML文件中调用Webapi。
由于same origin policy限制阻止您发送跨域AJAX请求,因此无法执行此操作。有different possible workarounds,其中一个包括使用JSONP而不是JSON。
以下是a post,其中介绍了如何使用自定义媒体格式化程序实现这一目标。