1

次のコードに問題があります。

var sendJson = (JSON.stringify(comanda));

$.ajax({
    url: 'sendMail.php',
    type : "post",
    data: sendJson,
    success: function(data){
        alert("Comanda dumneavoastra a fost trimisa");
    }
}); 

データが送信されていないようです....理由は何ですか?

わかりました...firebugでリクエストを監視しているため、何も送信されないことがわかります。エラーは発生せず、コンソールにも何も表示されません。有効になっているか確認しました。

4

1 に答える 1

7

これが私のコメントの意味です:

var sendJson = (JSON.stringify(comanda));

$.ajax({
    url: '/resource_url_goes_here',
    type : 'POST',
    data: sendJson,
    success: function(data){
        /* implementation goes here */ 
    },
    error: function(jqXHR, textStatus, errorThrown) { 
        /* implementation goes here */ 
    }
}); 

ajaxリクエストにerrorコールバックがあることに注意してください。エラーがいつ発生しているかを簡単に特定できるように、すべてのリクエストにエラーコールバックが必要です(これまで見てきたように、firebugはすべてをキャッチするわけではありません)。

私が時々役立つと思うもう一つのことはStatusCodes

$.ajax({
    url: '/resource_url_goes_here',
    type : 'POST',
    data: sendJson,
    statusCode: {  
        404: function() {  
            /*implementation for HTTP Status 404 (Not Found) goes here*/
        },
        401: function() {  
            /*implementation for HTTP Status 401 (Unauthorized) goes here*/
        } 
    },
    success: function(data){
        /* implementation goes here */ 
    },
    error: function(jqXHR, textStatus, errorThrown) { 
        /* implementation goes here */ 
    }
});

これにより、サーバーから特定のステータスコード(このスニペットでは404と401)が返されたときに関数が実行され、必要なステータスコードの特定のハンドラーを使用できます。これについて詳しくは、こちらをご覧ください。

于 2012-06-22T17:14:19.393 に答える