加載JSON我不清楚的,我應該如何從sammyjs外部API加載JSON。SammyJS從http
此代碼的偉大工程:
this.get('#/contact', function(context) {
this.load('somefile.json')
.then(function(items) {
$.each(items, function(i, item) {
context.log(item);
});
});
});
但是通過HTTP載入同一個JSON失敗:
this.get('#/contact', function(context) {
this.load('http://samedomain/api/getdata')
.then(function(items) {
$.each(items, function(i, item) {
context.log(item);
});
});
});
當加載了HTTP,薩米不再看到JSON作爲對象,似乎解析數據爲文本。
只是讓每個人都清楚這是不是與域訪問的問題。
header('Access-Control-Allow-Origin: *');
我也不相信這是我的json格式的問題,因爲它似乎在加載爲本地文件時工作正常。
我的REST API也期運用:
"Content-Type: application/json;
更新: 我把這個在WordPress的使用,因爲它可以幫助其他人的事件在這裏上市了
(function($) {
var app = $.sammy('#main', function() {
this.use('Template');
this.helpers({
loadJSON: function(location, options, callback) {
options = $.extend(options, {json: true});
return new Sammy.RenderContext(this).load(location, options, callback);
}
});
this.get('#/', function(context) {
this.loadJSON('http://localhost/wp-somesite/wp-admin/admin-ajax.php?action=get_all_cases')
.then(function(items) {
$.each(items, function(i, item) {
context.log(item);
});
});
});
});
$(function() {
app.run('#/');
});
} )(jQuery的);
我給這個一掄。現在它有意義的將它看作文本。我感謝您的幫助! – alloyking 2012-08-02 15:14:45