Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript FlickrAPI的jsonp问题:未捕获引用错误:未定义jsonFlickrApi_Javascript_Jquery_Ajax_Backbone.js - Fatal编程技术网

Javascript FlickrAPI的jsonp问题:未捕获引用错误:未定义jsonFlickrApi

Javascript FlickrAPI的jsonp问题:未捕获引用错误:未定义jsonFlickrApi,javascript,jquery,ajax,backbone.js,Javascript,Jquery,Ajax,Backbone.js,我不知道为什么我一直得到以下错误 未捕获引用错误:未定义jsonFlickrApi 我试图将包含URL参数的对象传递给ajax调用 这是一把小提琴: 以下是我的JavaScript: var TheModel = Backbone.Model.extend({ default: { photos: '', stat: '' } }); var TheCollection = Backbone.Collection.extend({ model: TheMode

我不知道为什么我一直得到以下错误

未捕获引用错误:未定义jsonFlickrApi

我试图将包含URL参数的对象传递给ajax调用

这是一把小提琴:

以下是我的JavaScript:

var TheModel = Backbone.Model.extend({
  default: {
    photos: '',
    stat: ''   
  }
});

var TheCollection = Backbone.Collection.extend({
  model: TheModel,

  url: 'http://api.flickr.com/services/rest/'

});

// The main view
var List = Backbone.View.extend({
  el: '.js-container',

  initialize: function () {
    this.collection = new TheCollection();

    return this;
  },

  render: function () {
    var self = this;

    var urlParameters = {
        page : '1',
        api_key: 'xxxxxxxxxxxxxxxxxxxxx',
        tags: "candy",
        method: 'flickr.photos.search',
        per_page: '3',
        format: 'json',
        jsoncallback: '?'
    };

    this.collection.fetch({
        dataType: 'jsonp',
        data: urlParameters,
        success: function (data) {
            console.log('success');
            console.log(self.collection);

        }
    });

    return this;
  }

});


var myList= new List();
myList.render();
这是我的HTML:

<script type="text/template" id="DropdownList">
  <% console.log('this is the template') %>
  <h3>Stat = <%- collection[0].stat %></h3>
</script>

<div class="js-container">
</div>

统计=
查看响应:

jsonFlickrApi({"photos":{"page":1,"pages":144580,"perpage":3,"total":"433738","photo":[{"id":"13721741393","owner":"31558746@N00","secret":"1965a3793c","server":"5117","farm":6,"title":"Candy corn","ispublic":1,"isfriend":0,"isfamily":0},{"id":"13721755993","owner":"31558746@N00","secret":"c4eb729500","server":"2938","farm":3,"title":"Candy corn","ispublic":1,"isfriend":0,"isfamily":0},{"id":"13722064924","owner":"31558746@N00","secret":"b8662de0bb","server":"3723","farm":4,"title":"7-Layer Candy Dip","ispublic":1,"isfriend":0,"isfamily":0}]},"stat":"ok"})

他们正在使用JSONP并将回调设置为
jsonFlickrApi

,下面是一个如何设置回调的示例

$.ajax(url, { dataType: 'jsonp', jsonp: 'jsoncallback' })
    .then(function(data, status, xhr) {
        console.log(status);
        console.log('success (promises): ' + data.name);
}, function(xhr, status, error) {
    console.log('failed (promises): ' + error);
});
通过设置jsonp:'jsoncallback'可以访问回调内容