Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 尝试使用JSON在HTML中显示PHP echo_Javascript_Php_Html_Json_Ajax - Fatal编程技术网

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

Javascript 尝试使用JSON在HTML中显示PHP echo,javascript,php,html,json,ajax,Javascript,Php,Html,Json,Ajax,我试图在HTML正文页面上显示来自一个单独PHP文件的两条PHP回显消息。无论何时单击submit按钮,echo消息都会在HTML页面中弹出,而不会将我重定向到PHP页面 我需要通过Javascript连接到我的两个文件,所以我编写了一个脚本,尝试将HTML文件与PHP文件连接起来 我的HTML: <div id="formdiv"> <form action="phpfile.php" method="get" name="fillinform" id="fi

我试图在HTML正文页面上显示来自一个单独PHP文件的两条PHP回显消息。无论何时单击submit按钮,echo消息都会在HTML页面中弹出,而不会将我重定向到PHP页面

我需要通过Javascript连接到我的两个文件,所以我编写了一个脚本,尝试将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>

您必须将数据附加到div中,如下所示:

success: function (data) {
    $(".formDiv").append("Your input: " + data);
}

您已将逻辑附加到
.submit()
事件,如果不阻止默认操作,表单将提交到服务器。您可以通过以下方式防止:

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

根据您的html,您应该尝试以下代码: 如果要替换id为=“formdiv”的div中的整个html

如果要将数据附加到id为=“formdiv”的div

  • $(“.js php”)之后添加大括号。提交(函数(e)
    ,并在ajax结束后关闭它
  • 在调用ajax之前添加
    e.preventDefault()
    ,这样它就不会重定向 您可以访问phpfile.php
  • 在ajax成功调用的函数中添加
    警报(数据)
  • 第n行
    $(“.formdiv”).html(“您的输入:”);
  • 更新后的代码应该如下所示

    $(".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);
        }
    }
    

    敏锐的眼睛;没有注意到Hi@JeroenBellemans和Vitozev。它仍然不起作用,每当我按下submit按钮,我就会被重定向到我的PHP文件。这就是我目前得到的:Move
    e.preventDefault();
    outside
    $.ajax({…})
    call,就在关闭
    .submit()的括号之前
    -它会工作的。另外,在你的小提琴中,你关闭ajax请求时出错了。你做到了:
    ({}
    ,应该是
    ({})
    @JeroenBellemans,Vitozev好的,我相信我已经解决了这个问题,但是我仍然被重定向到我的PHP文件。下面是更新的代码:
    $(".js-php").submit(function(e) {
        // your code goes here
        e.preventDefault();
    });
    
     success: function (data){
        $("#formdiv").html("Your input: "+data)
    }
    
     success: function (data){
        $("#formdiv").text("Your input: "+data)
    }
    
     success: function (data){
        $("#formdiv").append("Your input: "+data)
    }
    
    $(".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);
        }
    }