调用php时Ajax无法正常工作

时间:2009-07-30 07:21:30

标签: php javascript ajax

要求:

  1. 我创建了一个html页面 - 将一组字段保存到一个单独的文件中

  2. 通过ajax函数(AjaxLoad),我已经将一些值发送到file.php并保存。

  3. 我可以访问file.php,但它没有创建文件。
    代码如下

  4. 的JavaScript

    function AjaxLoad(LstrXML){
        var xmlhttp;
        xmlhttp=GetXmlHttpObject();
        if (xmlhttp==null)
        {
            alert ("Browser does not support HTTP Request");
            return;
        }
        var url="file.php?contentd="+LstrXML;
        xmlhttp.onreadystatechange=stateChanged;
        xmlhttp.open("GET",url,false);
        xmlhttp.send(null);
        function stateChanged()
        {
            if (xmlhttp.readyState==4)
            {
                alert(xmlhttp.responseText);
            }
        }
        function GetXmlHttpObject()
        {
            if (window.XMLHttpRequest)
            {
                return new XMLHttpRequest();
            }
            if (window.ActiveXObject)
            {
                return new ActiveXObject("Microsoft.XMLHTTP");
            }
            return null;
        }
    }
    

    PHP

    $fh = fopen("XML/testFile.xml", 'w') or die("can't open file");
    $stringData = "<item labelText ='Age' txtBoxSize='20' optionType='*'></item><item labelText ='Gender' txtBoxSize='20' optionType='*'>";
    fwrite($fh, $stringData);
    fclose($fh);
    

    但它在IE以外的所有浏览器中工作。兼容性怎么做?
    它有什么问题?请指导我。

    谢谢,
    Praveen J

1 个答案:

答案 0 :(得分:2)

尝试将第4行更改为这是一个好主意:

 var url="file.php?contentd="+ escape(LstrXML)

还可以手动在Web浏览器中访问您的php页面,看看它是否输出了有效的XML,所有标签都已关闭并正确嵌套。