0

サーバー側でJSONPオブジェクトを解析して保存する方法が必要です。クロスドメインオリジンの問題により、通信方法をJSONからJSONPに変更しましたが、サーバー側でJSONPを解析して保存する適切な方法が見つかりません。データベース。

以下はモデル、

define(['backbone'],function(Backbone){
  'use strict';

    return Backbone.Model.extend({
        url:"http://crossdomain:9847/page",
        defaults: {
                type:'text',
                position:0,
                align:'left',
                text:{"en":""},
                color:"#000",
                weight:'normal',
                size:"14px",
                font:"Verdana",
                pageid:'askdkasdkgaskdgks'

        },
        idAttribute:'_id',
        sync: function(method, collections, options) {
            options.dataType = "jsonp";
            return Backbone.sync(method, collections, options);
          }
    });

});

エクスプレスサーバー、

var express = require('/root/node_modules/express');

var page = require('./routes/page.js');

var app = express();

app.configure(function () {
    app.use(express.json());
    app.use(express.urlencoded());
    app.set("jsonp callback", true);
})

app.get('/page', page.updatePage);

app.listen(9847);

exports.updatePage = function(req, res) {
    console.log(req.query);
    // Here how I can parse the req is my problem 
    // so I can save object to database?
}

URLは次のように生成されます

http://crossdomain:9847/page?callback=jQuery203010156283635587138_1384408493698&{%22text%22:{%22en%22:%22Text%22},%22type%22:%22text%22,%22position%22:0,%22align%22:%22left%22,%22color%22:%22#000%22,%22weight%22:%22normal%22,%22size%22:%2214px%22,%22font%22:%22Verdana%22,%22pageid%22:%22askdkasdkgaskdgks%22}&_=1384408493700

受け取ることができ、

{ callback: 'jQuery203010156283635587138_1384408493698',
  '{"text":{"en":"Text"},"type":"text","position":0,"align":"left","color":"': '' }

これをどのように解析できますか?コールバック パラメータからコールバックを取得できますが、実際のデータを取得するにはどうすればよいですか?

4

1 に答える 1