Jquery 从本地web服务器(而不是本地文件系统)运行AJAX post时出错
我有一个网站,当我在本地运行它时,它可以在文件系统之外正常工作,但是当我尝试使用本地web服务器运行同一个网站时,它会崩溃。如果我使用post,我会得到一个405方法不允许的错误。如果我使用get呼叫,那么我将收到404未找到 我的想法是:这与同源政策有关,我有一些类似的问题,但无法使用这些答案让我的代码正常工作 该网站是所有的HTML和JavaScript,我使用IIS 7.5作为我的网络服务器。我还使用jQuery1.9库进行AJAX调用。电话及其内容发布在下面(发布版本中) 这里还有标题 响应头 请求头Jquery 从本地web服务器(而不是本地文件系统)运行AJAX post时出错,jquery,ajax,post,get,same-origin-policy,Jquery,Ajax,Post,Get,Same Origin Policy,我有一个网站,当我在本地运行它时,它可以在文件系统之外正常工作,但是当我尝试使用本地web服务器运行同一个网站时,它会崩溃。如果我使用post,我会得到一个405方法不允许的错误。如果我使用get呼叫,那么我将收到404未找到 我的想法是:这与同源政策有关,我有一些类似的问题,但无法使用这些答案让我的代码正常工作 该网站是所有的HTML和JavaScript,我使用IIS 7.5作为我的网络服务器。我还使用jQuery1.9库进行AJAX调用。电话及其内容发布在下面(发布版本中) 这里还有标题
我对web服务器几乎一无所知,因此,如果我的问题的答案可以通过一些参考资料得到最好的解释,我也希望能有一个指向这个问题的指针。任何遇到这个问题的人都要注意。我花了大约一天的时间才弄明白。首先,Blender对POST请求的看法是正确的,我将它们更改为获取请求 其次,我发现问题不在我的代码中,而是在IIS 7.5中。json不是一种预定义的MIME类型。以下是解决此问题的步骤 1) 确保您正在运行IIS 7.5 2) 打开IIS服务管理器 3) 打开MIME类型 4) 添加新的MIME类型 5) 有两个字段需要填写 文件扩展名:JSON MIME类型:application/json
在那之后它应该可以工作。你的Web服务器说它不允许POST请求。将你的
$更改为$。获取,看看它是否工作。哦,是的,我看到了。我将编辑并发布get的标题。谢谢。将$.post更改为$.get并不能使其正常工作。注意:从本地文件系统运行时,这两种方法都有效,但在使用本地web服务器时,这两种方法都无效。
$.get('js/questionJSON.json', function(data){
var template = $('#optionTemplate').html();
var li = $('#templateLI').html();
var partials = {"templateLI": li}
var html = Mustache.render(template,data, partials);
$('#questionHolder').append(html);
$('#sortable li .destroyer').click(destroyer);
$('#sortable li .correctnessGauge').click(correctnessChanger);
$('.dropdown-toggle').dropdown();
$( "ul, li" ).disableSelection();
$('#adder').click(createNewListItem);
$('.dropdown-menu a').click(changeMenuText);
$('#ready2GoBtn').click(createQJSON);
$( "#sortable" ).sortable({
revert: true,
handle: ".handler",
create: numberItems,
stop: numberItems
});
},'json');
Cache-Control private
Content-Length 7265
Content-Type text/html; charset=utf-8
Date Wed, 10 Jul 2013 19:39:57 GMT
Server Microsoft-IIS/7.5
Accept application/json, text/javascript, */*; q=0.01
Accept-Encoding gzip, deflate
Accept-Language en-us,en;q=0.5
Connection keep-alive
Host 192.168.200.175:90
Referer http://192.168.200.175:90/multi_choice.html
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0
X-Requested-With XMLHttpRequest