2016-03-30 8 views
0

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()); 

jsfiddle

テストのために、私はスクリプトをインラインにしてもまだ動作しません。私は何が欠けていますか?

+0

は、あなたがチェックすることができますになり、これは、CORSのでしょうか?それ以外の場合は、500を取得する場合は、エラーの詳細についての詳細を提供する必要があります。サーバー側でエラーをトラップできるかどうかを確認します。 – niku

+0

サービスは私のサービスではなく、公共サービスです。フィドラーを働かせることができないようだが、どのように私がその応答を見ることができるか知っている?エラーブロックに入っていないので、errorThrownをチェックすることはできません... –

答えて

0

は最終的に私はそれを見つけた、AdGuard(私のPCにインストールされている)、ブロックローカルホストからのCORS要求が判明、感覚実際

関連する問題