Javascript Ajax get jsonp给出错误代码500“;请求被阻止”;从MVC应用程序
我正在编写一个MVC应用程序,我需要通过一个ajax调用通过jsonp访问一些服务 然而,当我在Visual Studio(IIS Express)中运行代码时,我总是返回一个状态代码500“请求被阻止”,不幸的是,fiddler没有看到该请求,因此我没有关于错误的更多信息,只有IE/chrome开发工具中的“网络”选项卡可以工作 当我做请求时,在networking选项卡中我看到了500,我复制了请求url,粘贴到我的浏览器中,等等,瞧,它工作了,我得到了一个响应 现在,我已经创建了一个JSFIDLE,它看起来与我正在使用的代码几乎完全相同(只是在单独的文件中没有内联脚本),令人惊讶的是,JSFIDLE可以工作:Javascript Ajax get jsonp给出错误代码500“;请求被阻止”;从MVC应用程序,javascript,ajax,asp.net-mvc,jsonp,Javascript,Ajax,Asp.net Mvc,Jsonp,我正在编写一个MVC应用程序,我需要通过一个ajax调用通过jsonp访问一些服务 然而,当我在Visual Studio(IIS Express)中运行代码时,我总是返回一个状态代码500“请求被阻止”,不幸的是,fiddler没有看到该请求,因此我没有关于错误的更多信息,只有IE/chrome开发工具中的“网络”选项卡可以工作 当我做请求时,在networking选项卡中我看到了500,我复制了请求url,粘贴到我的浏览器中,等等,瞧,它工作了,我得到了一个响应 现在,我已经创建了一个JSF
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());
对于测试,我将脚本内联,但它仍然不起作用。我遗漏了什么?最后我找到了它,结果发现AdGuard(安装在我的电脑上)阻止了来自本地主机的cors请求,实际上是有意义的,你能检查一下吗,这是因为cors吗?否则你需要提供更多关于错误的详细信息,如果你得到500。检查您是否能够在服务器端捕获错误。该服务不是我的服务,而是公共服务。我似乎无法让fiddler工作,有人知道我是如何看到反应的吗?它也不会进入错误块,因此我无法检查抛出的错误。。。