$.ajax调用正常,但主干提取和保存不正常

$.ajax调用正常,但主干提取和保存不正常,ajax,backbone.js,Ajax,Backbone.js,我有一个主干应用程序,在这个应用程序中,我对PHP API进行的任何$.ajax()调用都非常有效,并在GET或POST请求中返回成功。但是,当我尝试调用model.fetch()或model.save()时(使用相同的端点),返回的结果是: XMLHttpRequest cannot load http://xyz.com. Origin http://localhost is not allowed by Access-Control-Allow-Origin. 我知道这没什么好谈的,但是

我有一个主干应用程序,在这个应用程序中,我对PHP API进行的任何$.ajax()调用都非常有效,并在GET或POST请求中返回成功。但是,当我尝试调用model.fetch()或model.save()时(使用相同的端点),返回的结果是:

XMLHttpRequest cannot load http://xyz.com.
Origin http://localhost is not allowed by Access-Control-Allow-Origin.
我知道这没什么好谈的,但是主干网的ajax调用返回时会出现错误,但当转换为普通ajax调用时,它们会成功吗

服务器上基于PHP的API中的标题为:

header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Credentials: true"); 
header('Access-Control-Allow-Headers: origin, content-type, accept');
header('Access-Control-Allow-Methods: OPTIONS, POST, GET, DELETE, PUT');
header('Access-Control-Max-Age: 86400'); 

主干网正在使用方法来实现ajax。它使用一些默认设置执行相同的
jquery.ajax
。这是Backbone.sync的最新版本。您可以将主干网的ajax设置与您的ajax相匹配。

我不确定您的方法。我是以下面的方式使用fetch的。这对我很管用。这可能对你有帮助

当您调用.fetch时,模型将触发一个请求事件,当您收到它、解析它并将其设置为模型时,模型将触发一个同步事件

var UserModel=Backbone.Model.extend({ url:“” });


我非常确定,除非您发出一个GET请求,返回JSONP,或者您正在使用CORS,否则无法进行跨域调用。请发布您认为运行正常的$.ajax。
var MyView = Backbone.View.extend({
    initialize: function() {
        this.model = new UserModel();
        this.listenTo(this.model,'sync', this.render);
        this.model.fetch({success:this.success,error:this.error});
    },
    render: function() {
        console.log('do awesome stuff here'+this.model.toJSON());
    },
    success:function(data){
        console.log(data.attributes.status);
    },
    error:function(data){
        console.log('error'+data.attributes.status)
    }
});

var view = new MyView();