簡體   English   中英

如何動態生成JSon對象?

[英]how to dynamically generate JSon object?

我試圖在客戶端和服務器之間發送/接收JSon。

我通過一個函數生成了JSon(我認為)

    self.gen_data=function()
    {   //create request data
        var input_array =self.input_value();  
        myJson={ 
                request_type:1,   //send request for problem 1
                data_list:{}
               };

        for(var k=0;k<input_array.length;k++)
        {
            myJson.data_list[k]=input_array[k];  //a number in array
        }
        console.log(myJson);
        return myJson;

    }

無法在服務器上讀取

$.ajax({
        type: "POST",
        url: self.serverURI,
        data: JSON.stringify(self.gen_data()),
        dataType: 'json',
        success: function (result) 
        {
            //console.log(result);
            alert(JSON.stringify(result));
            //alert(result.a);
        },
        error: function (xhr, ajaxOptions, thrownError) 
        {
                console.log(xhr);
        }
    });

在服務器上

var data=req.body;

console.log("request_type: ",req.body.request_type);

console.log("data_list size: ",data.data_list.length);

/*
for(var i=0;i<data.data_list.length;i++)
{
    console.log(data.data_list[k]);
}
*/

但顯示為:

  data_list size:  undefined

嘗試讀取數組元素導致的錯誤。

JSON.stringify()返回JSON字符串,但是您似乎想要JSON對象。

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify

嘗試不使用JSON.stringify

$.ajax({
        type: "POST",
        url: self.serverURI,
        data: self.gen_data(),
        dataType: 'json',
        success: function (result) 
        {
            //console.log(result);
            alert(JSON.stringify(result));
            //alert(result.a);
        },
        error: function (xhr, ajaxOptions, thrownError) 
        {
                console.log(xhr);
        }
    });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM