2012-02-16 13 views
7

私はAjaxリクエストを新しくしており、次のようにまとめましたPastie。 107行目は私の$ .PUTであり、$ .PUTは関数ではないことがファイヤーバグにエラーを投げています。私はこれが間違っていることを知っているアヤックスのリクエストに関しては、私は成功関数addCellの中で何をする必要があるかに関してかなり失われています。私はこれについて正しい道を進んでいますか?PUT Ajaxリクエスト

編集

function _ajax_request(url, data, callback, type, method) { 
    return jQuery.ajax({ 
     type: 'PUT', 
     url: "slot_days/show", 
     data: data, 
     success: function(data) 
     { 
callback($.put('/slot_days/show', { '/slot_days/': 'slot_times' }, function(result) 

      { 

      }); 
     ) 
     } 
    }); 
} 

jQuery.extend({ 
    put: function(url, data, callback, type) { 
     return _ajax_request(url, data, callback, type, 'PUT'); 
}}); 
+0

必要なものはPUTまたはPOSTですか? –

答えて

15

あなたは持ってここでエラー(success機能が匿名でなければなりません):

return 
    jQuery.ajax({ 
     type: 'PUT', 
     url: 'slot_days/show', 
     data: data, 
     success: function addCell() { 

     } 
    }); 

は次のようになります。

function _ajax_request(url, data, callback, method) { 
    return jQuery.ajax({ 
     url: url, 
     type: method, 
     data: data, 
     success: callback 
    }); 
} 

とjQueryを拡張する:

jQuery.extend({ 
    put: function(url, data, callback) { 
     return _ajax_request(url, data, callback, 'PUT'); 
}}); 

とサンプルの使用例:あなたはあなたのメインのファイルに_ajax_request_PUT.jsを含めていないよう

$.put('/url', { 'foo': 'bar' }, function(result) { 
    // do something with the results of the AJAX call 
}); 
+0

@Djj、いいえ、私はそこに無効なjavascriptがあることを意味しました。問題はそれが空ではないということではありません。私たちはこれを後で見るでしょう。問題はあなたのコードで次のように書きました: 'success:function addCell(){}'は無効です。 'success:function(){}'でなければなりません。例えば、パラメータとして渡された関数を呼び出す場合は、 'success:callback'とすることができます。 –

+0

@Djj、もちろん可能です。それを '$ .put'メソッドの3番目の引数として渡すだけです:' $ .put( "/" + getDiaryId()+ "/ slot_days /" + getSlotId + "/ slot_times /" + 0、slot_time、addCell); ' –

+0

このように: '成功:addCell($/put +"/"getDiaryId()+"/slot_days/"+ getSlotId +"/slot_times/"+ 0、slot_time、addCell)) ' – David

0

は思えます。このため、関数$.putが見つかりません。それを最初に含めれば、あなたのエラーは消えるでしょう。

+0

これはうんざりしているかもしれませんが、どうすればいいのですか? – David

+0

jqueryを組み込むのと同じように '" ' –

+0

私は、同じエラーを受け取っている私のメインファイルにファイルを含めました。これはおそらく、私の成功関数とコールバックとの関係です。 – David

0

ここで簡単できれいな答えをご覧ください:https://stackoverflow.com/a/11549679/916632 タイプ値を「PUT」に変更してください。

他の人に問題を引き起こしているかもしれない415応答も処理します(私をブロックしました)。送信されたデータオブジェクトの観点からの400応答。