Backbone.js を学習し、それに基づいて簡単なテーマを構築しようとしています。functions.php に、js をロードするための次のコードがあります。
function load_js() {
wp_enqueue_script('app-js', get_template_directory_uri() . '/app.js', array('backbone'));
wp_localize_script('app-js', 'mechanics', array('ajaxurl' => admin_url('admin-ajax.php')));
}
add_action('wp_enqueue_scripts', 'load_js');
app.js では、投稿を取得するためのこの単純なコード:
(function($){
var Post = Backbone.Model.extend({});
var Posts = Backbone.Collection.extend({
model: Post,
url: mechanics.ajaxurl
});
var new_posts = new Posts;
new_posts.fetch();
})
サーバー側で動作します (jquery でテストしました)。問題が url ステートメントにあると思われる場合。誰かがそれがどのように見えるべきか、またはjQuery ajaxとバックボーン同期URLに違いがあるかどうか教えてもらえますか?
作業中の jQuery バージョン
jQuery(document).ready(function() {
var $ = jQuery;
$.ajax({
type: "GET",
url: mechanics.ajaxurl,
data: { action : 'mechanics_get_posts' },
dataType: "json",
success: function( response ) {
alert( response );
}
});
});