向node.js控制器提交Ajax请求

时间:2015-04-13 14:48:40

标签: jquery ajax json node.js jsonp

我正在尝试将我的客户端JS中的URL传递给我的Nodejs代码中的控制器。我无法弄清楚为什么它没有抓住网址。我可以从客户端提交URL,但是在给定应用程序的情况下,我需要将数据和URL传递给Node服务器以处理到端点。

客户端

var urlLocation = "http://www.url.com/rest/v1/cms/story/";
var saveImage = encodeURIComponent(dataUrl);
              $.ajax({
                  type: "PUT",
                  dataType: 'jsonp',
                  url: urlLocation + imageid.value + "/" + saveImage,
                  success: function (data) {
                    $(".share-link").html("<div class='alert alert-success'><p>Success! " + data.id +" was posted.</p></div>");
                      console.log(data);
                  },
                  error: function (data) {
                    $(".share-link").html("<div class='alert alert-danger'><p>Couldn't send photo: <b>"+ imageid.value + "</b></p></div>");
                  }
              });
            });

的NodeJS

var Controller =  function(){



return function(options){
    if(!options){
      return;
    }
    //console.log('protocol - '.blue, options.req.protocol);

    var base = require('./base'),
        request = require('request'),
        dataObj;

    console.log("postImage  Controller");
    base();

    options.callback = function(error, data){
      if(error){

        options.res.status("404");
        options.res.render('404', {
          layout: false
        });

      }else{

        dataObj = data;
      //  console.log("res DATA".red, JSON.parse(data).entity );
        options.res.send({
          id : JSON.parse(data).entity
        });
      }
    };

    return (function(){
      if(options.req.params.imageid){
        request.post(
            'http://www.url.com/rest/v1/cms/story/' + options.req.params.imageid,
            { form: { key: 'value' } },
            function (error, response, body) {

                if (!error && response.statusCode === 200) {
                    //console.log(body);
                    options.callback(undefined, body);
                }else{
                  options.callback(error);
                }
            }
        );
      }

    }());


  };

};

exports = module.exports = new Controller();

0 个答案:

没有答案