2015-01-07 50 views
0

簡單的短jQuery和DATAFETCH測試返回錯誤簡單的短jQuery和DATAFETCH測試返回錯誤

我用下面的代碼在2個文件

1.PHP

<html> 
    <head> 
    <link href="css/dailog.css" rel="stylesheet" type="text/css" /> 
    <link href="css/calendar.css" rel="stylesheet" type="text/css" /> 
    <link href="css/dp.css" rel="stylesheet" type="text/css" /> 
    <link href="css/alert.css" rel="stylesheet" type="text/css" /> 
    <link href="css/main.css" rel="stylesheet" type="text/css" /> 

    <script src="src/jquery.js" type="text/javascript"></script> 

    </head> 
    <body> 
    <script type="text/javascript"> 
     $(document).ready(function(){ 
     var DATA_FEED_URL = "2.php"; 

     var param = [{ "name": "eventId", value: 9}];     

     $.post(DATA_FEED_URL, 
       param, 
       function(data){ 
       if(data.IsSuccess){ 
        alert(data.Msg) 
        //CloseModelWindow(null,true);        
       } else { 
        alert("Error occurs.\r\n" + data.Msg); 
       } 
     } 
     ,"json"); 
     }); 
    </script> 
    </body> 
</html> 

以下是我的

2.php

$eventSend = $_POST['eventId']; 

$ret="fail"; 


if(isset($eventSend)){ 
    getTest($_POST['eventId']); 
} 

function getTest($eventId) { 
    $ret = "Hello"; 
} 

echo json_encode($ret); 

我在警告框會得到錯誤信息

Error occurs. undefined 

我應該怎麼做,我只是想測試2頁之間的基本jQuery的崗位。 但結果卻是錯誤,即使我固定的響應

回答

0

嘗試使用中,.done()回調

$.post(DATA_FEED_URL, 
     param 
    ) 
    .done(function(data) { 
     alert("Data Loaded: " + data); 
    }); 

我已經採取了這個片段從jQuery網站http://api.jquery.com/jquery.post/

編輯: 嘗試使用阿賈克斯......當我需要POST請求我平時喜歡somenthing:

$.ajax({ 
    url: "request.php", 
    type: "POST", 
    cache: false, 
    dataType: "JSON", 
    data: {mdata:jsonstring} 
}).success(function(e){ 

    if(e.Status == "OK"){ 
     alert("Server said it was fine"); 
    }else{ 
     alert("Server said it failed"); 
    } 
}).fail(function(e){ 
    alert(failed to send request); 
}); 

而在PHP

<?php //request.php file 
    $data = json_decode($_POST['mdata'],true); 

    if(your_condition) 
     echo json_encode(array('Status' => 'OK')); 
    else 
     echo json_encode(array('Status' => 'KO', 
           'Reason'=> 'your_reason')); 
?> 
+0

對不起,我試過你的代碼,但沒有發生。 –

+0

它應該提醒你,無論它成功或失敗發送數據到網址.. 這很奇怪 – FredMaggiowski

+0

我已經編輯了答案與另一個例子..檢查出它是否可以幫助 – FredMaggiowski

相關問題