通过帮助ajax回复javascript与PHP

时间:2015-08-12 09:16:26

标签: javascript php jquery ajax

我试图通过ajax的帮助回复javascript与ajax完成后,脚本不起作用我认为浏览器运行javascript代码一次而不是要注意用ajax调用php后编写的代码

ajax代码

    <script>
    function makeGetReq(val) {
        /////////////////////////////////
        var xmlhttp;
        if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp = new XMLHttpRequest();
        }
        else {// code for IE6, IE5
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        xmlhttp.onreadystatechange = function () {
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                document.getElementById("charts").innerHTML = xmlhttp.responseText;
            }
        }
        xmlhttp.open("GET", "ttc_rep_acor_ttcid.php?ttcid=" + val, true);
        xmlhttp.send();
    }
</script>

和php代码

require_once("includes/helperfunction.php");
mysql_connect("localhost", "root", "") or die("Error 3: " . mysql_error());
mysql_select_db("tedmon") or die("Error 2: " . mysql_error());
$table_Name = 'ttc_teachers_evaluation';
//////////////////////////////////////////////////////////
$sql = "SELECT * FROM `tedmon`.`$table_Name` WHERE `TTC_NAME`=" . $_GET['ttcid'];

$result = mysql_query($sql) or die("Error 1: " . mysql_error());
$num_rec = mysql_num_rows($result);

//$total_Participant_answered = mysql_num
$array1 = array();
$array2 = array();
$array3 = array();
$array4 = array();
$array5 = array();
$array6 = array();
$array7 = array();
$array8 = array();
$array9 = array();
$array10 = array();
$array11 = array();
$array12 = array();
$array13 = array();
$array14 = array();
$array15 = array();
$array16 = array();
$array17 = array();
$array18 = array();
$array19 = array();
$array20 = array();
$array21 = array();
//$array22 = array();

while ($row = mysql_fetch_array($result))
{
    $array1[] = $row[11];
    $array2[] = $row[12];
    $array3[] = $row[13];
    $array4[] = $row[14];
    $array5[] = $row[15];
    $array6[] = $row[16];
    $array7[] = $row[17];
    $array8[] = $row[18];
    $array9[] = $row[19];
    $array10[] = $row[20];
    $array11[] = $row[21];
    $array12[] = $row[22];
    $array13[] = $row[23];
    $array14[] = $row[24];
    $array15[] = $row[25];
    $array16[] = $row[26];
    $array17[] = $row[27];
    $array18[] = $row[28];
    $array19[] = $row[29];
    $array20[] = $row[30];
    $array21[] = $row[31];
    //$array22[] = $row[29];


}

// When using the getQustionChartsData functionality of the helperfunction.php we
// will need to be set the data source from sql DB in array format that
// allows you to generate  chart data from database for view .
$percentageArray = getQustionChartsDataPercentage($array1);
$percentageArray2 = getQustionChartsDataPercentage($array2);
$percentageArray3 = getQustionChartsDataPercentage($array3);
$percentageArray4 = getQustionChartsDataPercentage($array4);
$percentageArray5 = getQustionChartsDataPercentage($array5);
$percentageArray6 = getQustionChartsDataPercentage($array6);
$percentageArray7 = getQustionChartsDataPercentage($array7);
$percentageArray8 = getQustionChartsDataPercentage($array8);
$percentageArray9 = getQustionChartsDataPercentage($array9);
$percentageArray10 = getQustionChartsDataPercentage($array10);
$percentageArray11 = getQustionChartsDataPercentage($array11);
$percentageArray12 = getQustionChartsDataPercentage($array12);
$percentageArray13 = getQustionChartsDataPercentage($array13);
$percentageArray14 = getQustionChartsDataPercentage($array14);
$percentageArray15 = getQustionChartsDataPercentage($array15);
$percentageArray16 = getQustionChartsDataPercentage($array16);
$percentageArray17 = getQustionChartsDataPercentage($array17);
$percentageArray18 = getQustionChartsDataPercentage($array18);
$percentageArray19 = getQustionChartsDataPercentage($array19);
$percentageArray20 = getQustionChartsDataPercentage($array20);
$percentageArray21 = getQustionChartsDataPercentage($array21);
// for generating div with dynamic id that allows  ajax to locate data at that div
// starting from id number one up to 21 adding css inline class for div with id
// number ood and echoing the <br> tag at div id number even .
for ($x = 1; $x <= 21; $x ++)
{

    //makeToolTip("#q".$x, $qustions[$x]);

    if ($x % 2 != 0)
    {
        echo '<div id="q' . $x . '" class="col-lg-5" style="margin-right:100px;"> </div>';
    } else
    {
        echo '<div id="q' . $x . '" class="col-lg-5" > </div>';
        echo "<br>";
    }
}

// When using the getChartView functionality of the helperfunction.php we will need
// to be set the data source from sql DB , div ID, question number which
// allows you to generate  DRY, clean "HighCharts" view .
getChartView($percentageArray, "#q1", " کیفیت پلان درسی استاد", $num_rec);
getChartView($percentageArray2, "#q2", " وضاحت اھداف درس", $num_rec);
getChartView($percentageArray3, "#q3", " تنظیم صنف", $num_rec);
getChartView($percentageArray4, "#q4", " ارزیابی درس گذشته", $num_rec);
getChartView($percentageArray5, "#q5", " ارتباط درس گذشته با درس جدید", $num_rec);
getChartView($percentageArray6, "#q6", " کیفیت استفاده از میتودھای فعال", $num_rec);
getChartView($percentageArray7, "#q7", " در نظر گرفتن وقت درس با درنظر داشت پلان درسی ", $num_rec);
getChartView($percentageArray8, "#q8", " ارتباط فعالیت ھا به موضوع درس", $num_rec);
getChartView($percentageArray9, "#q9", " چگونگی اشتراک محصلین در فعالیت ", $num_rec);
getChartView($percentageArray10, "#q10", " استفاده از سوالات متعدد", $num_rec);
getChartView($percentageArray11, "#q11", " ھمخوانی میتود درسی اتخاذ شده با موضوع درس", $num_rec);
getChartView($percentageArray12, "#q12", " تون و بلندی صدای استاد", $num_rec);
getChartView($percentageArray13, "#q13", " متوجه بودن استاد به تمام محصلین", $num_rec);
getChartView($percentageArray14, "#q14", " استفاده از زبان ساده و واضح در تفھیم درس", $num_rec);
getChartView($percentageArray15, "#q15", " استفاده از مواد درسی", $num_rec);
getChartView($percentageArray16, "#q16", " چگونگی اشتراک محصلین در فعالیت", $num_rec);
getChartView($percentageArray17, "#q17", " توجه استاد به سوالھا و صحبت شاگردان", $num_rec);
getChartView($percentageArray18, "#q18", " سلیقه و وضع ظاھری استاد", $num_rec);
getChartView($percentageArray19, "#q19", " برخورد استاد با محصلان", $num_rec);
getChartView($percentageArray20, "#q20", " استفاده از تخته", $num_rec);
getChartView($percentageArray21, "#q21", " درس جدید خلاصه شد", $num_rec);

2 个答案:

答案 0 :(得分:0)

如果您需要在PHP代码中打印共鸣,则可以创建div

<div id="message"></div>

并在您的JavaScript代码中

xmlhttp.onreadystatechange = function () {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            document.getElementById("charts").innerHTML = xmlhttp.responseText;
            document.getElementById("message").innerHTML = xmlhttp.responseText;
        }
    }

在你的div中你会看到回复

答案 1 :(得分:0)

如果ajax将其称为返回并将脚本添加到DOM中。它不会执行。如果要执行脚本,请使用eval()函数执行该脚本。例如:

xmlhttp.onreadystatechange = function () {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            document.getElementById("charts").innerHTML = xmlhttp.responseText;
            eval(document.getElementById("charts").innerHTML);
        }
    }

但是我可以看到你没有响应任何脚本,你只想在响应加载到test()后调用DIV函数。对于Definition test xmlhttp.onreadystatechange = function () { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { document.getElementById("charts").innerHTML = xmlhttp.responseText; test();//calling function here } } 应该已经在第一个文件中,然后您可以在获得响应后调用:

S