Ich habe ein sehr seltsames Problem, bei dem sich identische Teile von Javascript anders verhalten, wenn sie aus verschiedenen Quellen stammen. Der Code befindet sich am Ende dieses Beitrags.Identischer Code unterscheidet sich von verschiedenen Quellen
Die Seite, auf der dieser Code verwendet wird, besteht aus zwei unterschiedlichen Quellen: einer Standardansichtsdatei und Inhalt (Markup) aus einer Datenbank. Die Zusammenstellung erfolgt auf der Serverseite und wird als vereinheitlichtes Dokument an den Client gesendet. Soweit der Kunde betroffen ist, ist die Seite identisch.
Das Problem, das ich habe, ist dies: Wenn in der Ansichtsdatei platziert, wird der Code normal ausgeführt und verhält sich wie erwartet. Wenn er jedoch in der Datenbank platziert wird, meldet der Browser missing } after function body
.
Der Code in der Datenbank und der View-Datei ist identisch. Es gibt einen einzigen Unterschied: Wenn Sie in der Datenbank platziert werden, werden alle Zeilenumbrüche (\n
) entfernt. Könnte das das Problem sein? Wenn nicht, hat jemand diese Art von Problem schon einmal gesehen?
var rssTimeout = setTimeout(GetRSSFeed, 300000);
$(document).ready(function() {
GetRSSFeed();
});
var GetRSSFeed = function() {
var feedProxyURL = "http://localhost/BusinessLogicAPI/api/Proxy/RSSFeed?URL=http://feeds.bbci.co.uk/news/rss.xml";
$.ajax({ url: feedProxyURL,
type: "GET",
dataType: "xml",
success: function (data) {
var xmData = $(data);
//For the first 5 stories,
//build some JSON data and give it to the templates
xmData.children("rss")
.children("channel")
.children("item")
.slice(0, 5)
.each(function (I, E) {
var json = {};
json.title = $(E).children("title").text();
json.description = $(E).children("description").text();
$("#newsTemplate").tmpl(json).appendTo("#newsFeed");
});
},
error: function() {
$("#newsFeed").html("<span>Could not open feed</span>");
}
});
rssTimeout = setTimeout("GetRSSFeed()", 300000);
};
nitpick: 'setTimeout (" GetRSSFeed() ", 300000);' sollte 'setTimeout (GetRSSFeed, 300000) sein;' – jbabey
Fest, danke. – AndyBursh