javascript - 使用查询ajax从node.js服务器获取数据

标签 javascript jquery ajax node.js

我对如何在查询中使用 get() 和 post() 从 Node.js 服务器获取数据有点困惑 如果node.js服务器从json文件解析数据并在localhost:3000处提供html, 客户端代码看起来像这样吗:

$(document).ready(function() {
$.ajax({
    url: 'localhost:3000/',
    dataType: "json",
    success: function(data) {
        $("#test").append(data);
    },
    error: function(jqXHR, textStatus, errorThrown) {
        alert('error ' + textStatus + " " + errorThrown);
    }
});
});

我对数据类型等的含义感到困惑。

最佳答案

来自jQuery documentation

dataType (default: Intelligent Guess (xml, json, script, or html)) Type: String The type of data that you're expecting back from the server. If none is specified, jQuery will try to infer it based on the MIME type of the response (an XML MIME type will yield XML, in 1.4 JSON will yield a JavaScript object, in 1.4 script will execute the script, and anything else will be returned as a string).

因此,您显示的代码期望服务器响应 json 字符串,而不是 HTML。如果您删除 dataType jQuery 将“猜测”响应内容,如所解释的那样,我相信您应该这样做。 另外 .ajax 方法默认进行 GET 调用。如果您想 POST 将代码更改为以下内容 - 假设您使用的是 jQuery 版本 >= 1.9:

$(document).ready(function() {
  $.ajax({
      url: 'localhost:3000/',
      method: "POST",
      success: function(data) {
          $("#test").append(data);
      },
      error: function(jqXHR, textStatus, errorThrown) {
          alert('error ' + textStatus + " " + errorThrown);
      }
  });
});

您还可以使用jQuery's shorthand methods用于 GET 和 POST 而不是低级 .ajax 方法。

关于javascript - 使用查询ajax从node.js服务器获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35753739/

相关文章:

javascript - JQuery 插件是否应该负责创建新的 HTML?

JavaScript 函数未定义?

javascript - 在 Jade 文件中使用 Ajax 返回值

c# - MVC 访问控制允许来源

javascript - Ajax post onbeforeunload 不起作用

javascript - 如何知道 Javascript 堆栈何时已满?

javascript - JQuery .next() 找不到下一个同级

javascript - 如何显示使用 jquery 动态检查的字段数量

javascript - 获取完整的堆栈跟踪作为变量

javascript - 警告前出现 BB 对话框