无法用php运行ajax

时间:2015-11-26 08:24:11

标签: php ajax

我是php和ajax的新手。我想用php运行简单的ajax代码,但代码没有按预期工作。我想在onc​​hange发生时在页面中加载一些文本

源代码 ajax.php

<select id='mySelect' onChange="MyFunction()">
    <option value='option1'>Option1</option>
    <option value='option2'>Option2</option>
    <option value='option3'>Option3</option>
</select>




<script>

function MyFunction()
{
    var params="myName=2";
    var xmlHttp;
    if(window.XMLHttpRequest)
        xmlHttp=new XMLHttpRequest();
    else
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    xmlHttp.open("GET","edittest.php",true);
    if(xmlHttp)
    {

    xmlHttp.onreadystatechange=function(){
        if(xmlHttp.readyState==4 && xmlHttp.status==200)
        {

            alert(document.getElementById('mySelect').value);
            }
        }
    }

    xmlHttp.send(params);
    }

</script>

edittest.php 源代码

<?php

if(isset($_GET))
{
    for($i=0;$i<1000;$i++)
    {
        echo($_GET['myName']);
        }
    }

?>

2 个答案:

答案 0 :(得分:1)

为了更简单的体验,我建议你使用jQuery AJAX。 这是代码。查看Documentation了解详情。

[_privacyButton setTitleEdgeInsets:UIEdgeInsetsMake(0,0,0,0)];
_privacyButton.titleLabel.baselineAdjustment = UIBaselineAdjustmentNone;

答案 1 :(得分:0)

您的问题是您声明var params="myName=2";,但您从未使用它。您的脚本有效,但由于它只是请求edittest.php,它不会向您显示任何内容,因为您的PHP脚本只打印出myName变量。

您应该在请求结尾处添加参数,如下所示:

<select id='mySelect' onChange="MyFunction()">
    <option value='option1'>Option1</option>
    <option value='option2'>Option2</option>
    <option value='option3'>Option3</option>
</select>

<script>
    function MyFunction() {
        var params = "myName=2";
        var xmlHttp;
        if (window.XMLHttpRequest)
            xmlHttp = new XMLHttpRequest();
        else
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");

        xmlHttp.open("GET", "edittest.php?" + params, true);
        if (xmlHttp) {
            xmlHttp.onreadystatechange = function () {
                if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
                    alert(document.getElementById('mySelect').value);
                }
            }
        }
        xmlHttp.send(params);
    }
</script>

(注意xmlHttp.open("GET", "edittest.php?" + params, true);部分。)