2016-12-09 9 views
1

このコードを使用して、JSONデータを作成し、それをserver.js(ノードサーバー)に送信する関数を作成しました。ノードサーバーに送信するとJSONオブジェクトが変更される

function deleteEmail(i) { 
    emailObj.splice(i, 1); 
    var general = {}; 
    var table = [] 
    general.table = table; 
    for (var i = 0; i < emailObj.length; i++) { 
     var dataHtml = emailObj[i].html; 
     var html = { 
     "html": dataHtml 
     } 
     general.table.push(html); 
    } 
    console.log(JSON.stringify(general)); 
    $.post("email2", general); 
    } 

JSONデータをキャッチするserver.js内のコードはこれです:ここでは

app.post("/email2", function(req, res){ 
    console.log(req.body); 
}); 

は、JSONデータは、関数によって作成され、server.jsに送信されます。

{"table":[{"html":"<b>ID email:</b> #1481145671503<br><b>Form journey:</b> General<br><b>Work Request Title:</b> <br><b>Data Request:</b> <br><b>Request By:</b> <br><b>Department:</b> <i>not specified</i><br><b>Business Owner:</b> <br><b>Contact Details:</b> <br><b>Request Overview:</b> <br><b>Platform Impacted:</b> undefined<br><b>Business Objectives:</b> <br><b>Business Benefits Justifications:</b> <br><b>Project Drive:</b> <br><b>Additional Information:</b> <br>"},{"html":"<b>ID email:</b> #1481214851188<br><b>Date:</b> Thu Dec 08 2016 16:34:11 GMT+0000 (GMT)<br><b>Form journey:</b> General<br><b>Work Request Title:</b> <br><b>Data Request:</b> <br><b>Request By:</b> <br><b>Department:</b> <i>not specified</i><br><b>Business Owner:</b> <br><b>Contact Details:</b> <br><b>Request Overview:</b> <br><b>Platform Impacted:</b> undefined<br><b>Business Objectives:</b> <br><b>Business Benefits Justifications:</b> <br><b>Project Drive:</b> <br><b>Additional Information:</b> <br>"}]} 

ここに、サーバーが受信しているJSONデータがあります。

{ 'table[0][html]': '<b>ID email:</b> #1481145671503<br><b>Form journey:</b> General<br><b>Work Request Title:</b> <br><b>Data Request:</b> <br><b>Request By:</b> <br><b>Department:</b> <i>not specified</i><br><b>Business Owner:</b> <br><b>Contact Details:</b> <br><b>Request Overview:</b> <br><b>Platform Impacted:</b> undefined<br><b>Business Objectives:</b> <br><b>Business Benefits Justifications:</b> <br><b>Project Drive:</b> <br><b>Additional Information:</b> <br>', 
    'table[1][html]': '<b>ID email:</b> #1481214851188<br><b>Date:</b> Thu Dec 08 2016 16:34:11 GMT+0000 (GMT)<br><b>Form journey:</b> General<br><b>Work Request Title:</b> <br><b>Data Request:</b> <br><b>Request By:</b> <br><b>Department:</b> <i>not specified</i><br><b>Business Owner:</b> <br><b>Contact Details:</b> <br><b>Request Overview:</b> <br><b>Platform Impacted:</b> undefined<br><b>Business Objectives:</b> <br><b>Business Benefits Justifications:</b> <br><b>Project Drive:</b> <br><b>Additional Information:</b> <br>' } 

なぜこれをやっているのですか?同じフォーマットとデータを送信してserver.jsで解釈するにはどうすればいいですか?

ありがとうございます。

+0

  • あなたはJSON

このような実際に送信JSON

  • 送信していると言いますあなたが確認できるいくつかの事柄 - 明示的にcontを設定するjqueryの 'application/json'に要求を送信し、node.jsアプリケーションでボディパーサーミドルウェアをチェックします。問題はその2つの場所のいずれかにある可能性が最も高いと思われます。 –

  • 答えて

    0

    あなたは決してJSONデータをサーバーに送信しません。上記の行で

    console.log(JSON.stringify(general)); 
    

    ます:

    それをログJSONに変換
  • JavaScriptオブジェクト、generalを取ります
  • 上記の行では、general(まだJSONではありません)を$.postに渡します。

    オブジェクトにpostを渡すと、jQueryはそれをapplication/x-www-form-urlencodedエンコードされたデータに変換して送信します。あなたはJSONを送信する場合は


    、次のようにします:

    $.ajax({ 
        url: "email2", 
        method: "POST", 
        data: JSON.stringify(general), 
        contentType: "application/json" 
    }); 
    
    +0

    ありがとう!かなり新しいAJAXには、次回のために知っています。 –

    関連する問題