12

jquery (および coldfusion サーバーサイド) を使用した AJAX 応答で問題が発生しました。うまくいくこともあれば、うまくいかないこともあります。サーバーサイドコンポーネントを直接呼び出してテストすると、常に機能するため、問題はajax応答にあると思います。サーバーから直接serverurlを取得するため、クロスドメインの問題になることはありません。div タグを表示および非表示にするだけなので、ajax 応答が処理される前に URL を再配置する必要はありません。私はこれでたくさんの髪を抜いています。

addTask メソッドのコード:

function addTask(){
    var priority = $('#ff-add-task-priority').length > 0 ? $('#ff-add-task-priority').val() : 0;
        
    $.ajax({
        url: settings.server+'/c/Tasks.cfc?method=addTask',
        data: {
            userid: settings.userid, 
            taskname: $('#ff-add-task-name').val(),
            tasknote: $('#ff-add-task-note').val(),
            completed: $('#ff-add-task-completed').val(),
            priority: priority,
        },
        type: 'POST',
        dataType: 'json',
        success: function(response) {
            var output = addRow(response, $('#ff-add-task-name').val(), 0, 0);
            $('#data-list-tasks').append(output);
            
            $('#main').children().addClass('hide');
            $('#section-list-tasks').removeClass('hide');
            resetForm($('#add-task-form'));
            //route('#section-list-tasks');
        },
        error: function(ErrorMsg) {
            console.log('Error', ErrorMsg);
        }
    });
}

Firebug の出力は、AJAX 呼び出しが機能する場合と失敗する場合があることを示しています。

POST http://dev.wedoolist.com/c/Tasks.cfc?method=addTask jquery.min.js (linje 2) Error Object { readyState=0, status=0, statusText="error"} #secti...t-tasks (linje 124)
POST http://dev.wedoolist.com/c/Tasks.cfc?method=getTasks 200 OK 152ms jquery.min.js (linje 2)
POST http://dev.wedoolist.com/c/Tasks.cfc?method=addTask 200 OK 146ms jquery.min.js (linje 2)
POST http://dev.wedoolist.com/c/Tasks.cfc?method=addTask 200 OK 133ms jquery.min.js (linje 2)
POST http://dev.wedoolist.com/c/Tasks.cfc?method=addTask 200 OK 133ms jquery.min.js (linje 2)
POST http://dev.wedoolist.com/c/Tasks.cfc?method=addTask 200 OK 131ms jquery.min.js (linje 2)
POST http://dev.wedoolist.com/c/Tasks.cfc?method=addTask jquery.min.js (linje 2) Error Object { readyState=0, status=0, statusText="error"}

アップデート:

Request-headere
Accept  application/json, text/javascript, */*; q=0.01
Accept-Encoding gzip, deflate
Accept-Language da,en-us;q=0.7,en;q=0.3
Content-Length  59
Content-Type    application/x-www-form-urlencoded; charset=UTF-8
Cookie  CFID=198de696-2168-4911-8639-79ea944c9975; CFTOKEN=0;  JSESSIONID=B520084E7DDFB504BC87E200449C3DA7
Host    dev.wedoolist.com
Referer http://dev.wedoolist.com/index.cfm?add-task-completed-switch=0&ff-add-task-priority=0
User-Agent  Mozilla/5.0 (Windows NT 5.1; rv:18.0) Gecko/20100101 Firefox/18.0
X-Requested-With    XMLHttpRequest

アップデート:

フィドラーを使用すると、次のエラーが発生します。

HTTP Error 411. The request must be chunked or have a content length.

どんな助けでも大歓迎です。

ありがとう、

ピーター

4

1 に答える 1