【问题标题】:Calling Server from Javascript Client从 Javascript 客户端调用服务器
【发布时间】:2018-04-13 02:25:09
【问题描述】:

我目前已经创建了一个连接到 MongoDb 数据库的 API,我现在正尝试从 Javascript 客户端调用它。我已经尝试了多种调用它的方法,但到目前为止它们都没有奏效,所以我正在寻找一些关于如何使它工作的指导。我最近的尝试是使用 JQuery 库:

$.get("https://myurl:8080/api", function(data) { alert('Load was performed'); });

我发现服务器承认我对它的所有调用,但由于某种原因,它没有像我预期的那样返回任何 JSON 响应。

感谢任何帮助

【问题讨论】:

  • 服务器和客户端的域是否相同?如果没有,您需要在服务器端包含适当的 CORS 标头。
  • 我认为这可能是我的问题,我正在使用 cloud9 来执行此操作,所以我认为它可能禁用了 CORS?因为我所做的一切都会返回错误。我将如何包含 CORS 标头服务器端?

标签: javascript jquery rest api client-side


【解决方案1】:

尝试使用以下

$.ajax({
   url: 'https://myurl:8080/api',
   data: {
      format: 'json'
   },
   error: function() {
     // your code
   },
   dataType: 'jsonp',
   success: function(data) {
    //your code
   },
   type: 'GET'
});

它应该可以工作。

【讨论】:

  • 这再次调用了 api 但返回错误而不是成功。我已经使用邮递员测试了我的 api,所以我知道它能够很好地处理和处理请求,有没有办法提取有关错误的更多信息?
  • 使用错误:function(jqXHR, textStatus, errorThrown) { // 你的代码 },
【解决方案2】:

你可以使用jquery函数getJson:

var jqxhr = $.getJSON( "https://myurl:8080/api", function(data) {
  console.log( "success" );
  alert('Load was performed');

})
  .done(function() {
    console.log( "second success" );
  })
  .fail(function() {
    console.log( "error" );
  })
  .always(function() {
    console.log( "complete" );
  });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-10
    相关资源
    最近更新 更多