我已經詳盡地通過互聯網瞭解了這個問題的解決方案。
所以我有一個jquery ajax腳本,加載在一個csv文件中,並生成一些合併csv文件中的數據的html代碼。在本地機器上工作但在服務器上工作的JQuery Ajax腳本
<script type="text/javascript">
$(document).ready(function() {
$.ajax({
type: "GET",
url: "database.csv",
dataType: "html",
data: {},
success: function(text) {
// Location of key information
var nameLoc;
var siteLoc;
var typeLoc;
var categoryLoc;
var descripLoc;
var canRequestLoc;
var EClassLoc;
var description='';
var temp = "Y";
var charTemp;
var site;
var len;
var fields = text.split(/\n/);
fields.pop(fields.length-1);
var headers = fields[0].split(','), html = '<table align="center" id="searchData">';
for(var i = 0; i < headers.length; i += 1) {
switch (headers[i]){
case 'Name':
nameLoc = i;
break;
case 'RequestSystem':
siteLoc = i;
break;
case 'Type':
typeLoc = i;
break;
case 'Category':
categoryLoc = i;
break;
case 'canRequest':
canRequestLoc = i;
break;
case 'ECAPSClassification':
EClassLoc = i;
break;
case 'Description':
descripLoc = i;
break;
};
}
descripLoc = canRequestLoc + 2;
var data = fields.slice(1, fields.length);
for(var j = 0; j < data.length; j += 1) {
var dataFields = data[j].split(',');
if (dataFields[nameLoc]==0){
html += '</table>';
$(html).appendTo('body');
break;
};
html += '<tr>';
html += '<td class="demo-show"> <h3>' + dataFields[nameLoc] + '</h3>';
html += '<div class="menuBar"> ';
charTemp = dataFields[canRequestLoc];
if (charTemp=='Y'){
switch (dataFields[siteLoc]){
case 'Service Now':
site = 'https://ccsn.service-now.com/';
break;
case 'CCR IdM':
site = 'http://idm.na.cokecce.com';
break;
case 'ECAPS':
site = 'https://ecaps.cokeccr.com/ecaps';
break;
case 'KO IdM':
site = 'https://apps.ko.com/idm';
break;
default:
site = 'default';
break;
};
html += '<a href="' + site + '">' + 'Request Access' + '</a><br>';
}
else{
html += '<br><b> ' + dataFields[canRequestLoc+1] + '</b> <br> <br>';
};
html += '<b>Request System: </b>' + dataFields[siteLoc] + '<br>';
if (dataFields[siteLoc]=='ECAPS'){
html += '<b>ECAPS Classification: </b>' + dataFields[EClassLoc] + '<br>';
};
html += '<b>Type: </b>' + dataFields[typeLoc] + '<br>';
html += '<b>Category: </b>' + dataFields[categoryLoc] + '<br>';
html += '<b>Description: </b> ' ;
for (var k=descripLoc; k<dataFields.length; k+=1){
html += dataFields[k];
}
html += '<br><br></div>';
html += '</td> </tr>';
}
html += '</table>';
$('.app').append(html);
}
});
});
</script>
所以腳本加載完美的所有信息,但部分
html += '<td class="demo-show"> <h3>' + dataFields[nameLoc] + '</h3>';
類=「演示秀」應該是這個鏈接到另一個腳本,它使下面隱藏的信息。就像手風琴一樣。
的腳本是(在文件不同部分):
$(document).ready(function() {
$('td.demo-show > div').hide();
$('td.demo-show > h3').click(function() {
$(this).next().slideToggle('fast');
});
});
在我的本地機器的所有的這個作品,但是當我把它放在服務器上的手風琴腳本不工作,這是怪異因爲在網站的另一部分使用完全相同的腳本,並且它可以工作。
只有由JQuery Ajax部分加載的部分不起作用。
我試過了一切!這是我第一次在論壇上發帖。 請看一看,讓我知道你的想法。
更新: 這裏是網站。請在IE中試試 http://jsolomon9.99k.org/
不工作的部分是,當你點擊「標題1」時,下面的信息也應該做手風琴效果。相反,它只是靜態的。
它怎麼不起作用?服務器是否收到請求?有沒有http錯誤?一個javascript錯誤? – hvgotcodes 2012-07-18 19:19:13
控制檯中的任何錯誤? – 2012-07-18 19:19:52
控制檯中沒有錯誤。我知道它不工作,因爲jquery手風琴不工作 – jsolomon9 2012-07-18 19:48:26