jquery.ajax with php


jquery.ajax with php

我刚刚开始研究php。这是一个很好的朗格,因为我感觉很好,但有些时候我被卡住了,因为我是新手。

我的脚本代码

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**.

此外,如果我在

$.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

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

替换下面的值(带有配额)

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

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

按照布拉克·塔姆图尔克说的去做,也摆脱

contentType:"application/json",

$_POST 数据应采用内容类型 application/x-www-form-urlencoded ,这是默认值。