2012-08-16 33 views
1

我剛開始使用php。這是一個非常好的朗,因爲我感覺到,但有一點我卡住了,因爲我是新手。jquery.ajax和php

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

,並且,如果我寫

$.post(php_url,{startPoint:pv,nextLevelPoint:av,audioFile:myau[myau.length-1]},function(data){}); 

相同AJAX程序能正常工作並在文件中寫入內容。

另外由於我使用的是後期的方法,它不應該顯示地址欄中的值我傳遞寫。但它在這兩種方法中都顯示了這些值。

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

請指引我,我欠缺的......

+0

將對象賦給你的ajax函數中的'data' – 2012-08-16 07:38:06

回答

3

替換值波紋管(配額)

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

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

我做了,但沒有工作...... – 2012-08-16 07:39:47

0

做什麼布拉克TAMTURK說,也擺脫了

contentType:"application/json", 

$ _POST數據應該是內容類型application/x-www-form-urlencoded,這是默認值。