[英]Issue with Cross Domain Ajax call using Jquery WCF REST Starter Kit Preview 2
我使用WCF REST入门工具包preview2创建并托管了我的WCF REST API。 它支持动态响应和请求格式类型(XML和JSON)。如果我通过Jquery,Microsoft.Http在同一域中使用服务,那么一切正常。
我的cs代码如下:
private void GetData()
{
string url = string.Format("http://myhost/Services/UserService.svc/people/");
HttpClient client = new HttpClient();
HttpResponseMessage responseMessage = client.Get(url);
responseMessage.EnsureStatusIsSuccessful();
using (responseMessage)
{
string res = responseMessage.Content.ReadAsString();
Response.Write(res);
}
}
现在当我尝试使用来自另一个域的Jquery来使用我的服务时,响应是在IE8中进行的,但是在Mozilla和Chrome中我得到了null响应我的jquery代码如下:
function loadData() {
var path = "http://myhost/Services/UserService.svc/people/";
$.ajax({
type: "GET",
url: path,
contentType: "application/json; charset=utf-8",
dataType: "json",
async: false,
success: function(response) {
if (response != null) {
displayData(response);
}
}
});
}
我也尝试设置数据类型:“jsonp”和.getJson()方法调用。
您还可以在当前域上使用ProxyHandler。 从您的客户端代码,调用代理处理程序(相同的域),然后可以调用REST服务(跨域)。
如果您需要一个起点,请查看有关创建HtppHandler(代理)的这些文章。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.