gpt4 book ai didi

jquery - 使用 Jquery WCF REST Starter Kit Preview 2 进行跨域 Ajax 调用的问题

转载 作者:行者123 更新时间:2023-12-01 01:53:00 25 4
gpt4 key购买 nike

我已使用 WCF REST 入门工具包预览2 创建并托管了我的 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 中我收到空响应我的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(代理)的文章。

How To Create an ASP.NET HTTP Handler by Using Visual C# .NET

A Boilerplate HttpHandler - Scott Hanselman

关于jquery - 使用 Jquery WCF REST Starter Kit Preview 2 进行跨域 Ajax 调用的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3734369/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com