MyModel = Backbone.Model.extend({
url: function() {
return '/yourJsonpUrlhere';
},
// override backbone synch to force a jsonp call
sync: function(method, model, options) {
// Default JSON-request options.
var params = _.extend({
type: 'GET',
dataType: 'jsonp',
url: model.url()+"?callback=?",
processData: false
}, options);
// Make the request.
return $.ajax(params);
},
parse: function(response) {
// parse can be invoked for fetch and save, in case of save it can be undefined so check before using
if (response) {
if (response.success ) {
// here you write code to parse the model data returned and return it as a js object
// of attributeName: attributeValue
return {name: response.name}; // just an example,
}
}
}
});
sync: function(method, model, options) {
options.dataType = 'jsonp';
options.url="http://localhost:8084/CrossDomain_backbone/messages.json?callback=?";
//options.contentType='application/json-p';
options.error=this.errorr;
return Backbone.sync(method, model, options);
}
,
parse: function(resp){
alert('inside parse..');
return resp.model;
},
errorr:function(response,responseText)
{
alert('inside callback..: ' + responseText);
},
$(function () {
var Job = Backbone.Model.extend({
defaults:{
displayName:'not set'
}
});
var AppView = Backbone.View.extend({
el:$("#hudApp"),
initialize:function () {
var job = new Job;
job.url = 'https://jenkins.example.com/jenkins/job/test-job/api/json/?jsonp=?';
job.fetch({dataType:"jsonp"});
alert(job.get('displayName'));
});
});
var app = new AppView;
});