将javascript变量传递给php,然后返回html

时间:2015-08-03 21:48:28

标签: javascript php jquery html ajax

我有一个带有表单的html页面,我想提交一个值并使用javascript(w / jquery& ajax)将其发送到某个进程发生的php页面,我想要通过将变量多次发送回原始html页面来跟踪html页面,也许进入空div(id = txtHint)。以下是我到目前为止......

me.html

<html>
<head>
    <title>Generator</title>
    <script src="jquery-1.9.1.min.js" type="text/javascript"></script>
    <script src="howdy.js" type="text/javascript"></script>
</head>

<body>
    <div id="form_container">
        <h1>Generator</h1>
        <form id="myForm" name="myForm">
            <input id="myStr" type="text">
            <input id="regrForm" type="button" name="submit" value="Submit">
            </center>
        </form> 
    </div>
    <div id="txtHint"></div>
</body>
</html>

howdy.js

$(document).ready(function() {

    $("#regrForm").click(function(){

        var myText = $("#myStr").val();

        $.ajax({
            url: 'tracker.php',
            type: 'POST',
            data: {
                newStr: myText},
            dataType: "text",
            success: function(data){
                console.log("It went through!");
                $('#txtHint').html(data);
            }
        });
    });
});

tracker.php

<?php
    $myName = $_POST['newStr'];
    echo "<p> My string is: " . $myName . "</p>";

    for ($i=0; $i<1000000; $i++){

        //analyze stuff

        if ($i % 100000 === 0){
            echo "Total number of things analyzed: " . $i . " from " . $myName;
        }
    }
?>

问题是,我不完全确定我的变量是从javascript正确传递到php以及如何将php更新(我通过$ i进行的迭代)传递回html页面。 。有什么想法吗?如果我没有提供足够的信息,请告诉我。我感谢您提供的任何建设性帮助。

3 个答案:

答案 0 :(得分:2)

用于AJAX的开发目的。

  1. 来自ajax-&gt; success()方法的console.log(数据),以便您可以看到PHP的响应输出。
  2. 如果你想看看它是如何发送的,只需var_dump($ _ POST);
  3. 查看您的Web服务器错误日志文件,如果您使用的是APACHE / Linux,它将在您的/ var / log / httpd / error_log中运行此cmd in linux,这样您就无法查看错误---- tail -f在/ var /日志/ httpd的/ error_log中
  4. 查看您的PHP代码,看起来您将崩溃浏览器运行一个for循环一百万次...然后每10万次打印“分析的事物总数...”

    你想要完成什么?

答案 1 :(得分:1)

你的变量正在从javascript传递给php。 只需将成功功能更新为此

即可
success: function(data)
{
    $('#txtHint').html(data);

    console.log("It went through!");
}

结果将打印在&#34;#txtHint&#34;节点

答案 2 :(得分:-1)

有几点需要注意:

  • 你有一个</center>不应该在html中

  • 我不确定dataType: "text",请尝试删除

  • 在html中查看php数据

    而不是

    console.log("It went through!");
    

    这样做

    $('#txtHint').html(data);