用php的jquery.ajax

时间:2012-08-16 07:27:31

标签: php

我刚刚开始研究php。这是一个非常好的lang,因为我的感觉,但有一点我被卡住,因为我是新手。

我的javascript代码

var pv = $("#txtStart").val();
var av = $("#txtStartNextLevel").val();
var au = $("#fileStartPlay").val();
alert(pv+" "+av+" "+au);
var myau = au.split('\\');
$.ajax({
    type:"POST",
    url:php_url,
    data:"{startPoint:"+pv+"nextLevelPoint:"+av+"audioFile:"+myau[myau.length-1]+"}",
    contentType:"application/json",
    dataType:"json",
    success:function(){
        alert("done");
    },
    error:function(){
        alert(response);
    }
});

我的PHP代码。

<?php
    if(file_exists("Text.txt"))
    {
        $fileName = "Text.txt";
        $fh = fopen($fileName,"a")

        $Starts = $_POST["startPoint"];
        $NextLevel = $_POST["nextLevelPoint"];
        $AudioFileName = $_POST["audioFile"];
            $code .=$Starts."*".$NextLevel."_1*".$AudioFileName."\"";
            fwrite($fh,$code);
        fclose($fh);   
    }
?>

当我运行它时,它会执行但不会在变量

中写入值
$Starts,$NextLevel,$AudioFileName**.

如果我在

中编写相同的ajax程序
$.post(php_url,{startPoint:pv,nextLevelPoint:av,audioFile:myau[myau.length-1]},function(data){});

这很好用,并在文件中写入内容。

另外,由于我正在使用post方法,因此它不应该在地址栏中显示我正在写入的内容。但它在这两种方法中都显示了这些值。

localhost://myphp.php?txtStart=Start&fileStartPlay=aceduos.jpg&txtStartNextLevel=adfd

请指导我缺少的地方......

2 个答案:

答案 0 :(得分:3)

替换下面的值(带配额)

"{startPoint:"+pv+"nextLevelPoint:"+av+"audioFile:"+myau[myau.length-1]+"}"

{startPoint:pv, nextLevelPoint: av, audioFile: myau[myau.length-1]}

答案 1 :(得分:0)

做Burak TAMTURK所说的,也摆脱

contentType:"application/json",

$ _ POST数据应该是内容类型application/x-www-form-urlencoded,这是默认值。