我开发了WCF休息服务并将其部署在可以通过浏览器访问的链接上,因为它的操作是“GET”。
我想使用jQuery获取该数据。我尽力让WCf使用jQuery获得响应 但是徒劳无功我也试过$ .Ajax和'jsonp'没有运气。任何人都可以帮助我吗?
网址为:http://www.lonestarus.com/AndroidApp/AndroidLocation.svc/RestService/getLatestLocation
您可以通过在浏览器中粘贴网址来检查网址响应。
答案 0 :(得分:1)
我无法通过跨域示例向您展示
$('#a').load('http://www.lonestarus.com/AndroidApp/AndroidLocation.svc/RestService/getLatestLocation?callback=run');
如果设置了这些东西,会工作。
您的服务需要启用JSONP回调或设置Access-Control-Allow-Origin
标头以使跨域请求生效,或者您需要从同一域运行脚本。鉴于您的网址说AndroidApp,我认为您想要跨域。
答案 1 :(得分:1)
您需要在响应标头中将 Access-Control-Allow-Origin 设置为值[*]。
this blog提供了有关如何在WCF REST服务中完成的更多细节
如果您要在Web API中执行此操作,则可以添加
Response.Headers.Add("Access-Control-Allow-Origin", "*")
使用小提琴调用服务
$(function() {
$.ajax({
url: "http://www.lonestarus.com/AndroidApp/AndroidLocation.svc/RestService/getLatestLocation",
datatype: 'json',
type : 'get',
success: function(data) {
debugger;
var obj = data;
}
});
});
我收到了错误
XMLHttpRequest无法加载 http://www.lonestarus.com/AndroidApp/AndroidLocation.svc/RestService/getLatestLocation。 来源http://fiddle.jshell.net不被允许 访问控制允许来源。
答案 2 :(得分:0)
以下示例代码:
$.ajax
(
{
type: 'GET',
url: http://www.lonestarus.com/AndroidApp/AndroidLocation.svc/RestService/getLatestLocation,
cache: false,
async: true,
dataType: 'json',
success: function (response, type, xhr)
{
window.alert(response);
},
error: function (xhr)
{
window.alert('error: ' + xhr.statusText);
}
}
);