无法从JQuery客户端调用Web API

时间:2014-01-17 14:07:35

标签: javascript jquery asp.net-web-api

我试图弄清楚如何从Jquery调用我的webAPI。我尝试了很多技巧,但这不起作用。

我必须使用jsonp因为我在做跨域。

这是我的代码:

window.myCallback = function(data) {
  alert(JSON.stringify(data));
};

$.ajax({
  url: "http://keolisdriverswebapi-test.azurewebsites.net/api/jsonp/",
  type: 'GET',
  contentType: "application/json; charset=utf-8",
  dataType: 'jsonp',
  jsonp: 'callback',
  jsonpCallback: 'myCallback'
});

运行此代码时没有错误,我在分析时收到代码200,但没有调用回调。

如何调用我的网址并处理结果。

您可以查看http://jsfiddle.net/KeolisCanada/D4S9x/

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您期待JSONP,但您尝试获取的页面仅包含

{"foo":"bar"}

并且这不是JSONP,它只是普通的JSON。如果JSONP它将被包装在回调函数中,就像这样

myCallback({"foo":"bar"});