0
我創建了一個期望參數的MVC 4 Web API。當我通過在瀏覽器中放置url直接調用它時,這工作正常。現在我正嘗試通過jquery在aspx頁面上使用數據和完整url(帶參數)來調用此API。我的代碼看起來像使用jquery調用參數化MVC 4 Web API時出錯
$.ajax
({
type: "GET",
url: 'http://MySite/Test/api/product/?context=001',
dataType: "jsonp",
//data:{"context": "001")},
crossDomain : true,
async:false,
success: function (result) {
alert(result);
},
error: function (data) {
alert(data);
}
});
但總是我作爲[對象對象]在'錯誤'函數中得到響應。 當我展開返回的對象,我發現以下
Object
abort: function (a){a=a||"abort",p&&p.abort(a),w(0,a);return this}
always: function(){i.done.apply(i,arguments).fail.apply(i,arguments);return this}
complete: function(){if(c){var a=c.length;m(arguments),i?k=c.length:e&&e!==!0&&(j=a,n(e[0],e[1]))}return this}
done: function(){if(c){var a=c.length;m(arguments),i?k=c.length:e&&e!==!0&&(j=a,n(e[0],e[1]))}return this}
error: function(){if(c){var a=c.length;m(arguments),i?k=c.length:e&&e!==!0&&(j=a,n(e[0],e[1]))}return this}
fail: function(){if(c){var a=c.length;m(arguments),i?k=c.length:e&&e!==!0&&(j=a,n(e[0],e[1]))}return this}
getAllResponseHeaders: function(){return s===2?n:null}
getResponseHeader: function (a){var c;if(s===2){if(!o){o={};while(c=bH.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c}
isRejected: function(){return!!e}
isResolved: function(){return!!e}
overrideMimeType: function (a){s||(d.mimeType=a);return this}
pipe: function (a,b,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[b,"reject"],progress:[c,"notify"]},function(a,b){var c=b[0],e=b[1],g;f.isFunction(c)?i[a](function(){g=c.apply(this,arguments),g&&f.isFunction(g.promise)?g.promise().then(d.resolve,d.reject,d.notify):d[e+"With"](this===i?d:this,[g])}):i[a](d[e])})}).promise()}
progress: function(){if(c){var a=c.length;m(arguments),i?k=c.length:e&&e!==!0&&(j=a,n(e[0],e[1]))}return this}
promise: function (a){if(a==null)a=h;else for(var b in h)a[b]=h[b];return a}
readyState: 4
setRequestHeader: function (a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this}
state: function(){return e}
status: 200
statusCode: function (a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this}
statusText: "success"
success: function(){if(c){var a=c.length;m(arguments),i?k=c.length:e&&e!==!0&&(j=a,n(e[0],e[1]))}return this}
then: function (a,b,c){i.done(a).fail(b).progress(c);return this}
什麼是實際的輸出,當你通過瀏覽器中調用?並且它是否需要任何憑據來調用API? –
在即,我得到json對象,以及在Chrome瀏覽器xml中,這是預期的。在url ...?context = 001是我的參數。 –
嘗試改變'dataType:「json xml」'。 –