MVCアプリケーションを作成しています.jsonpからajax呼び出しでいくつかのサービスにアクセスする必要があります。AJAX get jsonpはMVCアプリケーションからエラーコード500の「要求がブロックされました」を返します
しかし、Visual Studio(IIS Express)でコードを実行すると、ステータスコード500の「要求がブロックされました」が返されます。不幸なことに、この要求は表示されないため、エラーに関する詳細は表示されませんIE/chromeの開発ツールのネットワーキングタブだけが動作します。
リクエストをすると、ネットワーキングタブに500が表示され、リクエストURLがコピーされ、ブラウザに貼り付けられ、それが動作し、応答が返されます。
は今、私はほぼ正確に私が使用しているコードと同じに見えますJSFiddle(のみの代わりに、インラインスクリプト、私は別のファイルでそれを持っている)を作成している、驚きは、JSFiddle作品:
ko.bindingHandlers.autocomplete = {
init: function(element, params) {
$(element).autocomplete(params());
},
update: function(element, params) {
$(element).autocomplete("option", "source", params().source);
}
};
var example = example || {};
example.cities = (function ($, jQuery, ko, undefined) {
"use strict";
function ViewModel() {};
ViewModel.prototype.searchCities = function(request, response)
{
if (request)
{
$.ajax({
url: 'http://gd.geobytes.com/AutoCompleteCity',
type: 'GET',
data: {q: request.term},
dataType: 'jsonp',
jsonp: 'callback',
crossDomain: true,
success: function (data) { response(data); alert('response: ' + data) },
error: function (jqXHR, textStatus, errorThrown) {}
});
}
};
return { ViewModel: ViewModel };
})($, jQuery, ko);
ko.applyBindings(new example.cities.ViewModel());
テストのために、私はスクリプトをインラインにしてもまだ動作しません。私は何が欠けていますか?
は、あなたがチェックすることができますになり、これは、CORSのでしょうか?それ以外の場合は、500を取得する場合は、エラーの詳細についての詳細を提供する必要があります。サーバー側でエラーをトラップできるかどうかを確認します。 – niku
サービスは私のサービスではなく、公共サービスです。フィドラーを働かせることができないようだが、どのように私がその応答を見ることができるか知っている?エラーブロックに入っていないので、errorThrownをチェックすることはできません... –