尝试使用JSON在HTML中显示PHP echo

时间:2015-10-28 11:27:52

标签: javascript php html json ajax

我试图将单独的PHP文件中的两条PHP echo消息显示在我的HTML正文页面上。每当您单击提交按钮时,都应在HTML页面中弹出回显消息,而不会将我重定向到PHP页面。

我需要通过Javascript连接到我的两个文件,所以我编写了一个脚本attemtping来连接HTML文件和PHP文件。

我的HTML:

<div id="formdiv">        
<form action="phpfile.php" method="get" name="fillinform" id="fillinform" class="js-php">
      <input id="fillintext" name="fill" type="text" />
            <input type="submit" id="submit1" name="submit1">
            </form>
</div>

phpfile.php:

 $q = $_GET['fill'];
$y = 2; 
$work = $q * $y;
$bork = $work * $q;

echo json_encode($work) ."<br>"; 

echo  json_encode($bork); 

使用Javascript:

 $(".js-php").submit(function()
    var data = {
    "fill"
    };
    data = $(this).serialize() + $.param(data); 

        $.ajax({
        type:"GET",
        datatype:"json",
        url:"phpfile.php",
        data: data,
        success: function (data){
        $(".formdiv").html(
        ""
        "Your input: ")
        }

4 个答案:

答案 0 :(得分:3)

您将逻辑附加到.submit()事件,如果您不阻止默认操作,则表单将提交给服务器。你可以这样阻止它:

$(".js-php").submit(function(e) {
    // your code goes here
    e.preventDefault();
});

答案 1 :(得分:1)

您必须将数据附加到您的div:

npm install grunt-cli -g

答案 2 :(得分:1)

根据您的HTML,您应该尝试以下代码: 如果你想替换id =&#34; formdiv&#34;

的div中的整个html
 success: function (data){
    $("#formdiv").html("Your input: "+data)
}

 success: function (data){
    $("#formdiv").text("Your input: "+data)
}

如果要将数据附加到具有id =&#34; formdiv&#34;的div中。

 success: function (data){
    $("#formdiv").append("Your input: "+data)
}

答案 3 :(得分:1)

  1. $(".js-php").submit(function(e)之后添加花括号,并在ajax结束后关闭它。
  2. 在调用ajax之前添加e.preventDefault(),以便它不会重定向 你到phpfile.php
  3. 在ajax成功调用的函数内添加alert(data)
  4. 语法错误n line $(".formdiv").html("""Your input: ");
  5. 您的更新代码应如下所示。

    $(".js-php").submit(function(e){
        var data = {
        "fill"
        };
        data = $(this).serialize() + $.param(data); 
        $.ajax({
            type:"GET",
            datatype:"json",
            url:"phpfile.php",
            data: data,
            success: function (data){
                alert(data);
        }
    }