簡體   English   中英

格式化AJax調用返回的Json並將其分配給javascript變量

[英]Format Json returned by AJax call and assign it to javascript variable

我有腳本使用ajax調用從服務器返回此腳本

//ajax call
var comment_frm = $('#comment_form');
                comment_frm.submit(function (ev) {
                    $.ajax({
                        type: comment_frm.attr('method'),
                        url: comment_frm.attr('action'),
                        data: comment_frm.serialize(),
                        success: function (data) {
                            if (data == 1){
                                $("#success_message").show();
                                $('#comment_form').trigger("reset");
                            }
                        },
                        error: function (jXHR, textStatus, errorThrown) {
                            alert(errorThrown);
                        }
                    });
                    //prevent the page from loading
                    ev.preventDefault();
                });

[{"commentID":"5","name":"name 1","comment":"comment 1","comment_time":"1460652379","blog_unique_id":"19","comment_status":"1"},{"commentID":"6","name":"name 2","comment":"comment 2","comment_time":"1460652387","blog_unique_id":"19","comment_status":"1"},{"commentID":"7","name":"name 3","comment":"comment 3","comment_time":"1460652416","blog_unique_id":"19","comment_status":"1"},{"commentID":"8","name":"name 4","comment":"comment 4","comment_time":"1460652425","blog_unique_id":"19","comment_status":"1"},{"commentID":"9","name":"name 5","comment":"comment 5","comment_time":"1460652433","blog_unique_id":"19","comment_status":"1"}]

我想將其格式化為以下格式並將json結果分配給javascript變量

var comment_array = {"Comments": [{"commentID":"5","name":"name 1","comment":"comment 1","comment_time":"1460652379","blog_unique_id":"19","comment_status":"1"},{"commentID":"6","name":"name 2","comment":"comment 2","comment_time":"1460652387","blog_unique_id":"19","comment_status":"1"},{"commentID":"7","name":"name 3","comment":"comment 3","comment_time":"1460652416","blog_unique_id":"19","comment_status":"1"},{"commentID":"8","name":"name 4","comment":"comment 4","comment_time":"1460652425","blog_unique_id":"19","comment_status":"1"},{"commentID":"9","name":"name 5","comment":"coment 5","comment_time":"1460652433","blog_unique_id":"19","comment_status":"1"}]}



 //php code
    $operation = $_POST['operation'];
if($operation == 'add_comment'){
    $name = $_POST['name'];
    $comment = $_POST['comment'];
    $blog_id = $_POST['blog_id'];
    $comment_status = 1;
    if ($me->add_comment($name, $comment, $blog_id)){
        //get the comment
        $comment_array = $me-> fetch_moderated_comment($blog_id);
        echo json_encode($comment_array);
    }else{echo 10;}
}

我也很想知道如何從通話中讀取信息...有人可以幫我嗎

工作實例

您可以分配一個變量來保存新的“ Comments”數組,然后將其推入:

var a = [{"commentID":"5","name":"name 1","comment":"comment 1","comment_time":"1460652379","blog_unique_id":"19","comment_status":"1"},{"commentID":"6","name":"name 2","comment":"comment 2","comment_time":"1460652387","blog_unique_id":"19","comment_status":"1"},{"commentID":"7","name":"name 3","comment":"comment 3","comment_time":"1460652416","blog_unique_id":"19","comment_status":"1"},{"commentID":"8","name":"name 4","comment":"comment 4","comment_time":"1460652425","blog_unique_id":"19","comment_status":"1"},{"commentID":"9","name":"name 5","comment":"comment 5","comment_time":"1460652433","blog_unique_id":"19","comment_status":"1"}]

var b = {"Comments": []};

for (var prop in a) {
  b.Comments.push(a[prop]);
}
echo json_encode(['Comments' => $comment_array]);

如果我理解正確,請將結果包裝在對象文字中:

vat result = {"Comments": comment_frm};

暫無
暫無

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

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