簡體   English   中英

使用ajax和javascript對象將值傳遞給另一個php。

[英]pass value to another php using ajax and javascript object..?

當我嘗試對json.stringify 數據進行json_decode時它返回NULL,因此使用** json_last_error來了解該錯誤,並返回了以下錯誤消息

語法錯誤,JSON格式錯誤

任何人都可以驗證我包含在javascript函數中的ajax代碼並發現已完成的錯誤。

下面是腳本代碼

 <script>
 function callphp(){
 var dataa = {};
 dataa.dateipone = jQuery("#dateInputone").val();
 dataa.dateiptwo = jQuery("#dateInputtwo").val(); 
 dataa.ino = jQuery("#ino").val();
 dataa.submit = "submit";
 alert("Hello")
 $.ajax({
    url : "six-cuf.php",
    type: 'POST',
    data :JSON.stringify(dataa),
    contentType : "application/json; charset=utf-8",
    success:function(data)
    {
        if(data){ 
          alert(data);   
          //console.log("Data from Server"+JSON.stringify(data));
        }
        else{
          console.log("Data is empty");
        } 
    },
    error: function(xhr) {
        alert('Error!  Status = ' + xhr.status + " Message = " + xhr.statusText);
        //console.log('Error!  Status = ' + xhr.status + " Message = " +  xhr.statusText);
    }
   });
 }

下面是6-cuf.php

  $data = json_decode($_POST['dataa']);
  print_r($data);

  switch (json_last_error()) {
   case JSON_ERROR_NONE:
         echo ' - No errors';
         break;
   case JSON_ERROR_DEPTH:
         echo ' - Maximum stack depth exceeded';
          break;
   case JSON_ERROR_STATE_MISMATCH:
         echo ' - Underflow or the modes mismatch';
          break;
   case JSON_ERROR_CTRL_CHAR:
         echo ' - Unexpected control character found';
          break;
   case JSON_ERROR_SYNTAX:
         echo ' - Syntax error, malformed JSON';
          break;
   case JSON_ERROR_UTF8:
         echo ' - Malformed UTF-8 characters, possibly incorrectly encoded';
          break;
   default:
         echo ' - Unknown error';
         break;
   }

   if(isset($_POST["dateipone"],$_POST["dateiptwo"],$_POST["ino"],$_POST["options"],$_POST["dateone"],$_POST["datetwo"],$_POST["submit"]))
{

    //php code
}

在dateipone,dateiptwo和dateone,datetwo ...中,該對的值將為空。

在傳遞給服務器之前,無需將任何內容編碼為json。 您可以傳遞普通的javascript對象,其余的將由瀏覽器完成:

var dataa = {};
dataa.dateipone = jQuery("#dateInputone").val();
dataa.dateiptwo = jQuery("#dateInputtwo").val(); 
dataa.ino = jQuery("#ino").val();
dataa.submit = "submit";
$.ajax({
    url : "six-cuf.php",
    type: 'POST',
    data: dataa,
    // no content-type here!
    success:function(data) {

    }
});

在服務器端照常檢查$_POST數組:

print_r($_POST);
// you will have keys: `dateipone`, `dateiptwo`, `ino` and `submit` in it

暫無
暫無

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

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