Javascript jqueryajax失败

Javascript jqueryajax失败,javascript,jquery,ajax,get,Javascript,Jquery,Ajax,Get,和控制台日志错误: index.html:25对象{readyState:4,getResponseHeader:function,getAllResponseHeader:function,setRequestHeader:function,overrideMetype:function…}中止:函数(a){var b=a | | u;返回c&&c.abort(b),x(0,b),此}始终:函数(){返回e.done(参数)。失败(参数),此}完成:函数(){if(h){var c=h.len

和控制台日志错误:

index.html:25对象{readyState:4,getResponseHeader:function,getAllResponseHeader:function,setRequestHeader:function,overrideMetype:function…}中止:函数(a){var b=a | | u;返回c&&c.abort(b),x(0,b),此}始终:函数(){返回e.done(参数)。失败(参数),此}完成:函数(){if(h){var c=h.length;!函数g(b)每个(b,函数(b,c){var d=n.类型(c)类型(c);“函数”==d?a.独特和k.has.has(c)| h.push(c):c和c.b.pus(c):c和c.b.b.每个(b,函数,函数(b,c)每个(b)函数,函数(b)的长度及“字符串)函数(d,函数)和(d和(d和g)(c)的)函数)函数)和(c)函数(c)函数)和(c)的(c)的)长度及(c)函数)函数)长度及(字符串)以及(字符串)为(((((=)0)元)0)的)和(c)的)3)元)和(c)3)3)3)3.d和(c)3.d和(c(c(c)和(c)的)的)3)的)和(c(c)的)(c):c&&c.length&“string”!==d&&g(c)})返回本返回返回本返回返回本返回返回本返回返回本返回返回本返回返回本返回返回本返回返回本返回本返回本返回本返回本返回本返回本返回本返回本返回本返回本返回本返回本返回本返回本返回本返回本返回本返回本返回本返回本返回本返回本返回本返回本返回本返回本返回本返回本返回本返回返回本返回本返回返回本返回本返回本返回本返回本返回本返回本返回本返回本返回错误错误错误:函数:)函数:{若(h)若(h){Vac)var)c=Vac=Vac=c=c=c=c=c=c=c=c=c=c=c.c.长度:)长度和c.长度及c.长度(&)长度和“字符串”长度.长度.长度.长度.长度.长度和.长度.字符串.长度.长度.长度.长度.长度.字符串.长度.长度.长度.长度.字符串.若若若若若若若若若若若若若{n.每个(b,函数(b,c)b,c)c,(b,c)c)c)c,(c)c)c,(c)c)c)c)c)推(c)推(c)推(c)推(c)推(c)c)c)c)c)长和c.长度和“字符串”长度和(c)c)c)长度和“字符串”3.c)长度和(c)c(c)长度和(c)c)长度和(c(c)长度和(c)长度和(c)c)字符串)长度和(c)长度(((!)字符串)长度和(c)若若若(c)3)3)3)元元元元元朗(c(c(c(c)若若(c)若若(c)3)3,(,(,(,(,(,(,(c)c)c)c)c)若若若若若(c)若若若(c)}}(c)元元元元元元元元元朗(c(c)}})2]}b=f[a.toLowerCase()]}return null==b?null:b}重写emimetype:function(a){return t| |(k.mimeType=a),this}pipe:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1](function(){var a=g&&g.apply(this,arguments);a.promise)&n.isFunction(a.promise)→a.promise)→a.promise()。完成(c.cf)。解决(失败):通知[c]+promise()}进程:函数(){if(h){var c=h.length;!函数g(b){n.each(b,函数(b,c){var d=n.type(c);“函数”==d?a.unique&&k.has(c)| h.push(c):c&&c.length&&“string”!==d&&g(c)}(参数),d?f=h.length:b&(e=c,j(b)}返回此函数(=a)}readyState:4setRequestHeader:function(a,b){var c=a.toLowerCase();返回t | |(a=s[c]=s[c]| a,r[a]=b),此}状态:function(){return c}状态:200statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);返回此}状态文本:“load”成功:如果函数(a){var){b){(b,c)b,c)c)c(c)c(c)c)c(c)c(c)c)c(c)c(c)c(c)c)c(c)c(c)c)c(c)c)c(c)c)c(c)c)长度和(c)长度和(c)c)c)长度和(c)字符串(c)c)长度和(c)长度和(c)长度和(c)长度和(c)字符串(c)长度和(c)长度和(c)c)长度和(c)字符串(c)长度和(c)长度和(c)c)字符串(c(c)长度和(c)长度和(c)长度和(c)c)元元元元元元元元元朗(c(c(c(c)))((((((((((((((((!)c)c)c)c)长度和(c(c)c)c)c)c)c(承诺)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):cf[0]+“With”}),a=null}).promise()}proto:Object


知道我做错了什么吗?

试试这个。希望问题可能是
contentType:“application/json”,dataType:“jsonp”

var url = 'http://localhost:3000/categories/?callback=?';

    $.ajax({
        type: 'GET',
        url: url,
        jsonpCallback: 'jsonCallback',
        contentType: "application/json",
        cache: true,
        dataType: 'jsonp',
        success: function(data) {
           console.log(data);
        },
        error: function(e) {
           console.log(e);
        }
    });

你能试着改一下这行吗

    var url = 'http://localhost:3000/categories/?callback=?';

    $.ajax({
        type: 'GET',
        url: url,
        success: function(data) {
           console.log(data);
        },
        error: function(e) {
           console.log(e);
        }
    });

还有ditch?url中的回调

看起来像是在记录XHR对象,而不是错误?您不需要自己将回调参数添加到url中,当然也不希望url本身中有2个
var url=http://localhost:3000/categories/“;
我更改了我的express服务器,以jsonp的res.json()格式发送数据'到'res.jsonp()',它现在可以工作了。问题不在于ajax调用本身。
cache: false, // we do not need any browser posibble caches here..
success: callback, 
// remove this line: jsonpCallback: 'jsonCallback',