簡體   English   中英

無法使用$ .ajax()發布JSON或無法使用php讀取它

[英]Can't post a JSON using $.ajax() or can't read it using php

我不知道問題出在哪里。 這是我發布JSON的JS函數:

function send(var1, var2) {
    var result;
    att = window.location;
    $.ajax({
        'crossDomain': true,
        'type': 'POST',
        'async': false,
        'global': false,
        'data': {
            "event_id": var1,
            "status": var2
        },
        'url': att + 'post.php',
        'dataType': 'json',
        success: function (data) {
            result = data['result'];
        }
    });
}

在服務器端,此文件(文件:post.php):

<?php
    echo $_POST;
?>

僅打印“數組”。 問題是我必須以該確切格式發送“數據”(我無法將其字符串化,然后使用php json_decode()函數)。 我也嘗試了«file_get_contents(“ php:// input”)»方式,但還是沒有。 我不明白問題是我無法正確發布json還是無法在php端讀取它。 GET方法的實驗很好。 對不起,我的英語不好,謝謝大家的關注。

要打印array ,可以使用php中的print_r()函數

<?php
print_r(json_encode($_POST)); //use json_encode() since dataType in ajax call is json
?>

要打印單個值,可以使用echo()

<?php
 echo(json_encode($_POST['event_id']));
?>

嘗試以下js函數:

function send(var1,var2) {
   $(document).ready(function(){
      $.ajax(
      {
              url:"post.php",
        data:{event_id: var1,status: var2},
        success:function (data, textStatus){
          alert(data['status']);
        }, 
        type:"post",
                dataType: 'json'
      }
      );   
    }); 
}

並在服務器端“ post.php”:

echo json_encode($_POST);

暫無
暫無

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

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