AJAX:如何在另一个页面上显示数据

时间:2016-03-26 23:57:30

标签: javascript php jquery ajax web

我在下面有以下功能。单击按钮时,将执行以下功能。该函数基本上通过Ajax将json数据发送到页面" temp.php"

我认为发送数据是成功的。我的主要问题是打印/显示ajax发送到" temp.php"页。

    **Orders.php:**

    function convertToJson()
    {
        var tableData = $('#productOrder').tableToJSON({
            ignoreColumns: [0]
        }); 
        var result = JSON.stringify(tableData)
        $.ajax({
            url: "http://localhost/app/temp.php",
            data: {result},

            type: "POST",
        })
          .done(function( json ) {
                document.getElementById('testDiv').innerHTML = result;
          })

          .fail(function( xhr, status, errorThrown ) {
            alert( "Sorry, there was a problem!" );
            alert( "Error: " + errorThrown );
            alert( "Status: " + status );
            alert( xhr );
          })

          .always(function( xhr, status ) {
            alert( "The request is complete!", status );
          });           
    }

   **This is the content of "temp.php"**
   <?php
   $Id = json_decode($_POST['Id']);
   $Name = json_decode($_POST['Product Name']);
   $Unit = json_decode($_POST['Unit']);

   echo "<h1>$Id</h1>";
   ?>

   **This is the json data (var result) that is being sent by ajax**


   [{"Id":"43","Product Name":"Orchid","Unit":"Test","Rate(PHP)":"600.00","Quantity":"5.00","Sub-Total (PHP)":"3,000.00"}]

1 个答案:

答案 0 :(得分:1)

查看您要发送的数据:

data: {result},

(这是data: {result: result},的简写)

因此,您的表单编码数据中包含一个键,结果。

现在看看PHP:

$_POST['Id']

您要发送的数据中没有Id。仅result

$_POST['Product Name']

您要发送的数据中没有Product Name。仅result