我正在尝试使用ajax读取文本文件,但它在ios上不起作用:我在iOS上的proDB.txt文件中出现错误500(内部服务器错误)。
var prodata=[];
ajaxreadfile();
function ajaxreadfile() {
return $.ajax({
url: "proDB.txt",
type: 'GET',
dataType: 'text',
headers: { "cache-control": "no-cache" },
success: function(data){
readfile(data);
},
async: false
});
}
function readfile(data){
var lines=data.split(/\n/);
var i;
prodata.push(0);
var fieldnames=lines[0].split(/\t/);
for (i = 1; i < lines.length-1; ++i) {
var fields=lines[i].split(/\t/);
prodata.push(i);
var j;
prodata[i]={};
prodata[i]['id']=i; //auto id, there is no more 'id' column in the DB file.
for (j = 0; j < fields.length; ++j) {
var str=fieldnames[j];
prodata[i][str]=fields[j];
}
}
prodata.sort(SortByName);
resetLists(prodata);
prodata.sort(SortById);
}
你能告诉我什么是错的吗?
答案 0 :(得分:0)
要解决这个问题,我使用iOS文件的完整路径,如下所示:
var request = $.ajax({
url: dbUrl(),
type: 'get',
dataType: 'text',
success: successCallback
});
function dbUrl(){
if(isIOS()){
return "http://www.mysite.com/proDB.txt";
}else{
return "proDB.txt";
}
}
function isIOS(){
return (
(navigator.userAgent.indexOf("iPhone") != -1) ||
(navigator.userAgent.indexOf("iPod") != -1) ||
(navigator.userAgent.indexOf("iPad") != -1)
);
}