我刚刚开始研究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
请指导我缺少的地方......
答案 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
,这是默认值。