【问题标题】:Consume REST web service with jQuery使用 jQuery 使用 REST Web 服务
【发布时间】:2015-02-12 04:21:41
【问题描述】:

我有一个 Web 服务,它在某个 URL 上以 JSON 格式显示数据,我的问题是如何使用 jQuery 将这些数据存储在变量中。到目前为止我已经尝试过了:

$.ajax( {
type:'Get',
url:'http://localhost:8080/demo/x',
success:function(data) {
 alert(data);
}

});

但当我到达放置此脚本的页面时,它不会发出任何警报。

提前感谢您的帮助。

【问题讨论】:

  • 也许可以尝试为失败添加一个处理程序,看看是否有什么问题?
  • 共享暴露服务的java代码

标签: jquery ajax json web-services rest


【解决方案1】:

您可以在 get 请求中使用简写 .get()。添加失败处理程序:

$.get("http://localhost:8080/demo/x", function(data) {
  alert("Retrieved data:" + data);
}).fail(function() {
  alert("An error has occurred");
});

【讨论】:

  • 如果出现错误,请尝试在浏览器的 URL 栏中插入 localhost:8080/demo/x,然后查看得到的响应。
  • 我在 URL 栏中尝试了 localhost:8080/demo/x,我得到了 JSON 格式的正确数据。我使用了您的脚本并得到“发生错误”。
  • 您的页面是否与您调用的其他服务位于同一域中?
  • 您的页面是否也在本地主机上,与其他服务一样吗?如果没有,那么您遇到了一个常见的跨域脚本限制问题 - 请查看此链接:sitepoint.com/jsonp-examples
【解决方案2】:

试试这个:

$.ajax({
   type: 'GET', 
   url: 'http://localhost:8080/demo/x',
   data: {
      format: 'json'
   },
   dataType: 'jsonp',
   success: function(data) {
      alert('Data: ' + data);   
   },
   error: function() {
      alert('Error');
   }   
});

【讨论】:

    猜你喜欢
    • 2014-02-24
    • 2011-06-09
    • 2014-02-27
    • 1970-01-01
    • 2011-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多