0
function updateRecord(actdate, plandate, bugnumber) {
    var adate = document.getElementById(actdate).value.split("-");
    var pdate = document.getElementById(plandate).value.split("-");
            jQuery.ajax({
                url: '?=bug_parser/updaterecord/'+adate[0]+'/'+adate[1]+'/'+adate[2]+'/'+pdate[0]+'/'+pdate[1]+'/'+pdate[2]+'/'+bugnumber,
                dataType: 'html',
                async:true,
                crossDomain:true,
                success: function(response, textStatus, jqXHR) {
                    if(response == '1') {
                        alert("success");
                    } else {
                        alert("Failed");
                    }       
                },
                error: function(jqXHR, textStatus, errorThrown) {
                    alert('Error updating the record');
                },
            });
    return false;
} 

ボタンクリックイベントで ajax 呼び出しを使用してレコードを更新しようとしています。drupal モジュールで適切なメニュー コールバックを使用します。興味深いことに、ブラウザのナビゲーション バーに URL をコピーして貼り付けると、期待どおりに動作します。しかし、JavaScriptを介してajax呼び出しを行うと、機能しません

4

1 に答える 1

0

ajax が機能しない理由は、それを drupal 動作の中に配置する必要があるためです。

drupal js の動作を検索します。これは基本的に js のラッパーを作成するため、drupal の JavaScript ファイルとインクルードでうまく機能します。

このトピックを動作のリファレンスとして使用することもできます: Drupal の動作

通常、すべての JavaScript はビヘイビア内に配置する必要があります。これはベスト プラクティスであり、多くの頭痛の種から解放されます

于 2012-11-30T13:54:44.443 に答える