【问题标题】:Consume a Web API web service in jQuery在 jQuery 中使用 Web API Web 服务
【发布时间】:2012-08-29 15:56:25
【问题描述】:

好吧...尽管用 27 种不同的语言称我为白痴,但是:

我已经开始使用 .NET 4 Web API 开发 Web 服务。我编写了一个名为 GetTransaction 的方法,它只返回一个字符串。我已将其发布到外部 URL。我在连接到互联网的 PC 上使用 Firefox。

如果我浏览到

https://url/service/api/transaction/1 

在 Firefox 中浏览器显示

<string>Hello World</string>

但如果我使用以下 jQuery 创建一个简单的 .htm 文件:

$.ajax({
    url: 'https://url/service/api/transaction/1',
    type: 'GET',
    dataType: 'xml',
    success: function(response)
    {
        alert(response);
    }
});

我收到状态 = 200 OK 的响应,但响应选项卡(在 Firebug 中)为空白。没有 XML。

我到底做错了什么?

【问题讨论】:

  • 如果去掉 dataType: 'xml' 位会怎样?
  • 您是否从https://url/ 下的某处运行您的测试脚本?
  • 不,测试脚本只是在我的笔记本电脑上运行,即 file:///c:/users/me/.../etc。我是否遇到了 x 域限制?
  • 如果我取出 'dataType: xml' 没有什么不同。
  • 试试看这个话题:stackoverflow.com/questions/230401/…

标签: jquery ajax api web


【解决方案1】:

您可能确实遇到了跨域限制。我不使用 .Net,并且不确定使用 JSONP 代替 XML 是否适合您,但如果是,那将解决您的跨域限制并允许您从本地测试脚本运行它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-19
    • 2014-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多