2016-04-23 5 views
0

を送信できませんでした:アヤックスが正常にサーバーからデータを受信し、しかし、私はこのAjaxが正常に動作していたIT

$.ajax({ 
    url: "../../../controller/ctrl.test.php", 
    success:function(expirytime){ 
     alert(expirytime); 
    } 
}); 

が、私は、サーバーにデータを送信し、この行を追加する必要がある場合、それはexpirytimeに警告しません。再び:

$.ajax({ 
    url: "../../../controller/ctrl.test.php", 
    type: 'POST', 
    contentType:'application/json', 
    data: JSON.stringify(data), 
    dataType:'json', 
    success:function(expirytime){ 
     alert(expirytime); 
    } 
}); 

dataはjsonデータです。私はそれらのコードの上にそれを持っています。だから、それは空ではない。私はちょうど私の最初のajaxの原因にPOST機構を追加することによってなぜだろうと思っているalert(expirytime);作業を停止?

私のコードに何が問題なのですか?あなたはdataType: 'json'を持っているので、このテストの目的のために、何がPHPファイルにありませんが、ちょうどエコー-INGの日時

<?php 
$date = '2016/04/30 00:00:00'; 
echo $date; 
?> 
+1

警告出力は何ですか? '[オブジェクト] [オブジェクト]'? – guradio

+0

@guradio:作業中のajaxはこれを出力します: '2016/04/30 00:00:00' –

+0

おそらく、サーバーが投稿要求を受け入れることを拒否しているか、jsonが好きではないからです。見つけ出すために 'error'コールバックを追加してください! – wero

答えて

2

をお試しください:

更新はあなたに感謝PHPからの応答が有効なJSONになるようにします。しかし

echo $date; 

は有効なJSONを返していません。その応答でjQueryがJSON.parse()を呼び出すと、エラーが発生するので、success関数は呼び出されません。

変更にそのライン:

echo json_encode($date); 

、それが動作するはずです。またはdataType: 'json'dataType: 'text'に変更してください。

1

jQueryの期待し、この

$.ajax({ 
    url: "../../../controller/ctrl.test.php", 
    type: 'POST', 
    data: { JSON.stringify(data) }, 
    dataType: 'json', 
    success:function(expirytime){ 
     alert(expirytime); 
    } 
});