【问题标题】:What is the jquery post url?什么是 jquery 帖子网址?
【发布时间】:2013-07-16 21:57:36
【问题描述】:

我为 $.post 调用服务器以获取 node.js 文件的 url 是什么。我一直在看 php 文件的教程,但我对调用哪些 node.js 文件感到困惑?我应该将它发布到 app.js 文件还是路由文件?

这就是 app.js 文件的样子:

  var express = require('express')
  , app = express()
  , dbUserModel = require('./models/user')
  , db = require('./db')
  , pass = require('./config/passport')
  , passport = require('passport')
  , routes = require('./routes/index')
  , user = require('./routes/user')
  , path = require('path')
  , http = require('http')
  , connect = require('connect')
  , mongoose = require('mongoose')
  , mongoConnect = mongoose.connect('mongodb://localhost/test5');

// all environments

app.configure(function(){
    app.set('port', process.env.PORT || 3000);
    app.set('views', __dirname + '/views');
    app.set('view engine', 'jade');


    app.use(express.favicon());
    app.use(express.logger('dev'));
    app.use(express.bodyParser());
  app.use(express.cookieParser('sabkdasdkjhakhfkahf7232ujdijaw9jok&^&^@88'));
  //app.use(express.cookieSession());
  app.use(express.methodOverride());
    app.use(passport.initialize());
    app.use(passport.session());
    app.use(app.router);
    app.use(express.static(path.join(__dirname, 'public')));    

  //use bottom for 404 error
  app.use(function(req,res){
    res.render('noPage.jade');
  });

});
  app.get('/', routes.index);
  app.get('/register', user.mustBeLoggedOut, user.register);
  app.post('/register', user.registerPost);
  app.get('/login', user.mustBeLoggedOut, user.login);
  app.post('/login', user.loginPost);
  app.get('/userProfile', user.mustBeLoggedIn, user.userProfile);
  app.get('/editUserProfile', user.mustBeLoggedIn, user.editUserProfile);
  app.post('/editUserProfile', user.editUserProfilePost);
  app.get('/loggedIn', user.mustBeLoggedIn, user.loggedIn);
  app.get('/contactList', user.mustBeLoggedIn, user.contactList);
  app.get('/search', user.search);
  app.post('/search', user.searchPost);
  app.get('/user/:id', user.user);
  app.post('/addContact', user.addContactPost);


http.createServer(app).listen(app.get('port'), function(){
  console.log('Express server listening on port ' + app.get('port'));
  console.log('Users: ' + db.collections.users);
});

这是路由文件的样子:(我知道路由文件中的代码在尝试提取与按钮关联的 user.id 时可能不正确,仍在进行中)

exports.addContactPost = function(req, res, err) {
    User.findByIdAndUpdate(req.signedCookies.userid,{
                friendRequest: req.body.userid
            }, function(err) {
                if(err) {
                    console.log("post2");
                    return res.render('addContactError', {title: 'Weblio'}); 

                } 

            });
};

这是脚本文件,试图找出 URL:

 $('.addContact').click(function() {
        $.post('user.js', 
            function(data) {

            $('.addContact').html(data);
            }

        );

        if($(this).html!=='Contact Requested') {
            return $(this).html('Contact Requested');
        }
        });  

这是 Jade 文件:

extends layout
block content   
    div
    legend Search Results
    div#userResults
    for user in ufirstName 
        a(href='/user/#{user.id}')
            p #{user.firstName} #{user.lastName}
        button.addContact Add Contact

【问题讨论】:

  • 我已经添加了express 标签,因为显然您使用的是express

标签: javascript jquery node.js express pug


【解决方案1】:

网址完全由您决定。根据您编辑的问题,/addContact 将是与$.post 一起使用的有效路径。我注意到您在 addContactPost 函数中的代码似乎不会在成功时呈现任何内容...

【讨论】:

  • 我刚刚更新了 app.js 文件,以便您可以看到整个内容。我确实拥有这一切,如果我做了 /addContact 那么它应该工作吗?
  • 另外,关于如何从玉文件中提取用户 ID 的任何线索,即附加用户并创建添加联系人按钮。
  • @Lion789:是的,/addContact 将是您设置的合适的相对 URL。恐怕我对翡翠一无所知。
  • 好吧,忘了玉我如何从一个 for 循环中请求信息,该循环正在为用户查询数据库并获取该用户 ID 并为每个用户创建一个名称 url 和一个添加联系人按钮。我在上面的路由文件中做了一个 req.body 但如果它是按钮上的单击事件的问题,我认为这是不正确的。
  • @Lion789:我不想这么说,但你使用了一堆我从未使用过的东西。 :-) 我只是碰巧知道 URL 位。可能最好发布有关查询数据库并分别返回结果的问题。
【解决方案2】:

NodeJS 将作为具有自己 url 的 web 服务器运行。当您启动服务器时,您必须指定一个 url 。我猜大多数示例都使用带有端口的本地主机地址。 然后,您可以发布到该地址。除非您通过自己的 Web 服务器上的 php 页面访问,否则它不应该是 php 地址

【讨论】:

  • 是的,我知道它不是 php 文件。是否可以给我一个示例,说明 url 部分的内容是 $.post('user.js' //路由文件还是 localhost:3000/search,我仍然很困惑。
  • 好的,有没有办法让它通用,所以如果我把添加按钮扔到其他地方,URL就不必包含在帖子中?
  • @TGH:当然使用相对 URL 更有意义。
  • 相对url可以是$.post('/addContact'
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-09
  • 1970-01-01
  • 2016-06-16
  • 1970-01-01
相关资源
最近更新 更多