簡體   English   中英

通過.ajax調用將JSON數據作為POST請求發送

[英]sending json data as POST request via .ajax call

我無法使用.ajax方法通過“ POST”請求發送數據。 該腳本顯示了數據庫中的現有數據,然后通過以下方式輸入其他數據:1)首先刪除與該ID相關的現有行(通過GET請求發送),然后2)插入新行,如通過JSON發送的數據所示。

以下是我的Ajax電話

        <script src="/jquery-1.10.2.min.js"></script>
        <script src="/knockout-2.3.0.js"></script>

            var collabModel = function(collab) {
                var self = this;
                self.collab= ko.observableArray(collab);
             //To add empty row into the table
                self.addcollab = function() {
                    self.collab.push({
                      Name: "",
                       Lastname: ""
                    });
                };




 self.save = function(form) {
 var loc_id=<?php echo $loc;?>;
   var data_1_1=ko.toJSON(self.collab);

                      $.ajax({
                            type:'POST',
                            url:'update_collab_info.php?loc_id='+loc_id,
                           // dataType: 'json',
                            data:data_1_1,
                            processData: false, 
                            timeout:2000,
                                success:function(collab){
                                    alert("This looks like"+data_1_1);
                                  location.href="www/"
                                }
                          });
             };
            };

        var data_from_database=<?php echo json_encode($result);?>; //This is to display any existing rows of information if present from the database

        var viewModel = new collabModel(data_from_database);
        ko.applyBindings(viewModel);

                ===========================PHP SCRIPT(update_collab_info.php)==================
                    <?php
                $data_1=$_POST['data_1_1'];
                $loc_id=$_GET['loc_id'];
                $data_2=json_decode(stripslashes($data_1));

                foreach($data_2 as $row){
                //MYSQL query PDO PREPARE statement 
    //insert ($loc_id, $row['name'],$row['lastname'])
                 }

基本上,foreach語句將多個字段行插入mysql,其中$ loc_id對其所有字段均相同。 ($ loc_id是外鍵)。 我無法將發布數據獲取到PHP腳本中。 我確實收到顯示json數據的警報,但腳本無法解釋它。 該腳本能夠響應通過URL發送的GET變量。 我能夠刪除響應get請求的mysql查詢,但是不知何故,我從以json發送的POST數據中獲取了空數組。

如果要以$_POST["data_1_1"]訪問數據,則必須將其作為post var而不是作為請求正文發送。

$.ajax({
    type: 'POST',
    url: 'update_collab_info.php?loc_id=' + loc_id,
    data: { data_1_1:data_1_1 },
    timeout: 2000,
    success: function (collab) {
        alert("This looks like" + data_1_1);
        location.href = "www/"
    }
});

暫無
暫無

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

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