Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
js和AJAX,将JSON从服务器发送到客户端_Ajax_Node.js_Express - Fatal编程技术网

js和AJAX,将JSON从服务器发送到客户端

js和AJAX,将JSON从服务器发送到客户端,ajax,node.js,express,Ajax,Node.js,Express,我正在尝试将JSON从Express.js发送回客户端,但无法使其正常工作 routes/editor.js exports.save = function(req, res){ fs.readFile(__dirname + "/../public/index.html", function (err, data) { if (data == oldhash) { res.json({ r: 'no' }) } els

我正在尝试将JSON从Express.js发送回客户端,但无法使其正常工作

routes/editor.js

exports.save = function(req, res){
    fs.readFile(__dirname + "/../public/index.html", function (err, data) {
        if (data == oldhash) {
          res.json({ r: 'no' })
        }
        else {
          res.json({ r: 'yes'})
        }
    });
});
public/javascript/test.js

$( ".save" ).click(function( event ) {
        event.preventDefault();

        $.ajax( {
          url: 'http://localhost:3000/save',
          data: r,
          type: 'GET',
          success: function(r) {
            if( r == 'yes' ) {
               $('#echoResult').append('<p>yes</p>');
            }
            else {
                $('#echoResult').append('<p>no</p>');
            }
          }
       });

    });
$(“.save”)。单击(函数(事件){
event.preventDefault();
$.ajax({
网址:'http://localhost:3000/save',
数据:r,
键入:“GET”,
成功:功能(r){
如果(r==‘是’){
$(“#echoResult”).append(“yes

”); } 否则{ $(“#echoResult”).append(“no

”); } } }); });
然后相应地从服务器响应,附加正确的HTML

我错过了什么?我看到的所有AJAX示例都没有太大帮助

任何建议都是非常受欢迎的

编辑


我在client->Uncaught ReferenceError:r未定义时出现此错误

客户端错误可以如下解决:

$( ".save" ).click(function( event ) {
    event.preventDefault();

    $.ajax( {
      url: 'http://localhost:3000/save',
      type: 'GET',
      success: function(data) {
        if( data.r == 'yes' ) {
           $('#echoResult').append('<p>yes</p>');
        }
        else {
            $('#echoResult').append('<p>no</p>');
        }
      }
   });

});
$(“.save”)。单击(函数(事件){
event.preventDefault();
$.ajax({
网址:'http://localhost:3000/save',
键入:“GET”,
成功:功能(数据){
如果(data.r==“是”){
$(“#echoResult”).append(“yes

”); } 否则{ $(“#echoResult”).append(“no

”); } } }); });
data
属性位于成功回调中,参数为r


如果没有关于您如何使用express的更多详细信息,我就不能对服务器代码说太多。

Define“can't make it work”。另外,您的
fs.readFile
代码缺少错误处理,因此如果那里发生错误,您不会知道。您是对的,我忘了提到错误。检查更新后的帖子。
r
未定义似乎没有意义。试着在客户端代码中设置一个
错误处理程序。怎么做?抱歉,我对这些技术还不熟悉。请尝试以下方法: