Jquery AJAX总是出错
Jquery AJAX always errors
我正在使用nginx web服务器并在本地主机上运行网站。我希望能够获得我的文件通过服务器与jquery的AJAX函数,但它总是抛出一个错误。我在我的data文件夹中创建了一个名为TESTFOLDER的文件夹,其中有一个名为test.txt的txt文件。
这是我的javascript代码
$.ajax({
url: "../data/TESTFOLDER/",
type: 'GET',
dataType: "txt",
headers: {
Accept : "text/html",
"Content-Type": "text/html"
},
success: function(data){
console.log('there was a success');
},
error: function (jqXHR, textStatus, errorThrown) {
console.log('there was an error');
}
});
这是我的nginx配置块文件夹
location /data/TESTFOLDER/ {
autoindex on;
try_files $uri $uri;
add_header Content-Type application/txt;
}
我总是得到这个错误:
NetworkError: 500 Internal Server Error
当它试图到达data/TESTFOLDER
我当然试过比这更简单的,没有头和所有这些。但似乎什么都不起作用。如果可以,请帮忙。
编辑:- 是的,我可以通过在浏览器中输入localhost/data/TESTFOLDER/test.txt来访问文件。
- . ./似乎不会引起问题,因为在这两种情况下,我得到错误信息500内部服务器错误-本地主机/data/TESTFOLDER/,即不是本地主机/../data/TESTFOLDER/
- 服务器错误日志显示:2020#2644:重写或内部重定向循环,而内部重定向到"/data/TESTFOLDER/",客户端:127.0.0.1,服务器:localhost,请求:"GET/data/TESTFOLDER/HTTP/1.1",主机:"localhost", referrer: " http://localhost/index.html "
注意:本地主机这个词在这里是两个单独的词,因为他们不允许我发布链接。
EDIT2:我应该注意到,虽然本地主机/data/TESTFOLDER/test.txt在我的浏览器中工作正常,但本地主机/data/TESTFOLDER/抛出错误500。这种情况应该发生吗?
您的url格式不正确。如果您想在Ajax调用中使用相对路径,则不需要使用..
.
source: AJAX请求中的相对url
你可以只用url: "/data/TESTFOLDER/"
。您当前的url试图访问http://localhost:63542/../Data/TESTFOLDER/
,这可能不存在,但服务器试图找到它并抛出一个错误。
您可以使用ajax捕获不同的http状态代码。
的例子:
$.ajax({
statusCode: {
500: function() {
// do something
}
}
});
您滥用try_files
并获得内部重定向循环
另外,文本的MIME类型为text/plain
。
相关文章:
- jQuery AJAX总是出错
- 使用Pebble.js获取AJAX请求时出错
- 在 $.ajax 调用中出错
- jQuery AJAX POST请求传递值时出错
- 完成ajax调用数组的循环,而不是在某个调用出错时中断
- 将jquery ajax请求推入数组时出错
- 未捕获的类型错误:this.reset不是函数-在ajax调用后清空输入时出错
- Ajax向Wicket服务器发送两个请求时出错
- 尝试从ajax静态WebMethod获取asp.net(C#)文本框文本时出错
- JQuery尝试进行Ajax调用时出错
- 使用Jquery上载文件时出错&ajax
- 使用ajax将数据发布到asmx web服务并使用javascript函数在html页面中编写响应时出错
- 在提交事件上调用 ajax 时出错
- Jquery Ajax 上传大文件会出错
- 使用 $.ajax 从服务器加载 1000+ 条记录时出错
- 使用 grails 和 javascript 执行 ajax 时出错
- Ajax 调用时出错 ->发送两个文件而不是一个文件
- 通过 ajax 调用 wcf 服务时出错
- recpatcha 返回 200,仍然在使用 jQuery ajax 时出错
- 使用$时出错.ajax在IE上键入GET