我正在尝试使用此 ajax 方法,但它不起作用
I'm trying to use this ajax method but it is not working
我创建了一个 select 元素,我想在其中 link 我的 xml 文件,所以当用户 select 的项目的段落来自 XML 应该为每个出现。所以我写了 ajax 方法,现在对我不起作用,是的,文件 (english.xml
) 在同一目录中。
这适用于 Apache Cordova 8.0,Java脚本版本 8.0。
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="js/jquery-1.11.1.min.js"></script>
<meta name="http-equiv" content="Content-type: text/html;" charset="utf-8">
<meta name="viewport" content="initial-scale=1, width=device-width, viewport-fit=cover">
<link rel="stylesheet" type="text/css" href="js/jquery-1.5.0.mobile.min.css">
<link rel="stylesheet" type="text/css" href="css/english.css">
</head>
<body>
<div>
<select class="letters" id="alpha" onchange="giveSelection(this.value)">
<option value="a">A</option>
<option value="b">B</option>
<option value="c">C</option>
<option value="d">D</option>
<option value="e">D</option>
<option value="f">F</option>
</select>
<select class="story" id="story" onchange="storyelected(this.value)">
<option data-option="a">A blessed home</option>
<option data-option="a">Amazing park</option>
<option data-option="a">As they passed</option>
<option data-option="b">Blessed times</option>
<option data-option="b">Being humble</option>
</select>
</div>
<div data-role="content" class="ui-content" role="main" placeholder="Filter by data-option">
<div class="content-primary">
<hr>
<div style="padding: 20px; background-color:White; border-color:Gray; border-style:solid; border-width:1px;border-radius:10px; font-family: Times New Roman; text-transform: none;" id="textarea" type="text" name="textarea">
<p id="lyrics"></p> // this is where i want the story to be shown
</body>
</html>
这是我的 Java 脚本代码。
var alpha = document.querySelector('#alpha');
var story = document.querySelector('#story');
var options2 = songs.querySelectorAll('option');
function giveSelection(alphaValue)
{
songs.innerHTML = '';
for(var i = 0; i < options2.length; i++)
{
if(options2[i].dataset.option === alphaValue)
{
story.appendChild(options2[i]);
}
}
}
giveSelection(alpha.value);
$.ajax({
type: 'get',
url: 'english.xml',
dataType: 'xml',
success: function(data) {
console.log(data)
}
});
当用户 select 从 select 中选择一个选项时,我希望只有从 XML 文件中提取的主题(<p>
类别)显示为输出。
如果您像这样在控制台中打印错误,可能更容易调试:
$.ajax({
type: 'get',
url: 'english.xml',
dataType: 'xml',
error: function (e) {
console.log("XML reading Failed: ", e);
},
success: function(data) {
console.log(data)
}
});
另外,请注意,在您发布的代码中,最后缺少分号 (;)。
我发现函数没有被调用。
Html
<select class="letters" id="alpha" onchange="giveSelection(this.value)" onclick="calltext()">
JavaScript
function (calltext){$ajax....}
我还必须更改 select 的 ID。
我创建了一个 select 元素,我想在其中 link 我的 xml 文件,所以当用户 select 的项目的段落来自 XML 应该为每个出现。所以我写了 ajax 方法,现在对我不起作用,是的,文件 (english.xml
) 在同一目录中。
这适用于 Apache Cordova 8.0,Java脚本版本 8.0。
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="js/jquery-1.11.1.min.js"></script>
<meta name="http-equiv" content="Content-type: text/html;" charset="utf-8">
<meta name="viewport" content="initial-scale=1, width=device-width, viewport-fit=cover">
<link rel="stylesheet" type="text/css" href="js/jquery-1.5.0.mobile.min.css">
<link rel="stylesheet" type="text/css" href="css/english.css">
</head>
<body>
<div>
<select class="letters" id="alpha" onchange="giveSelection(this.value)">
<option value="a">A</option>
<option value="b">B</option>
<option value="c">C</option>
<option value="d">D</option>
<option value="e">D</option>
<option value="f">F</option>
</select>
<select class="story" id="story" onchange="storyelected(this.value)">
<option data-option="a">A blessed home</option>
<option data-option="a">Amazing park</option>
<option data-option="a">As they passed</option>
<option data-option="b">Blessed times</option>
<option data-option="b">Being humble</option>
</select>
</div>
<div data-role="content" class="ui-content" role="main" placeholder="Filter by data-option">
<div class="content-primary">
<hr>
<div style="padding: 20px; background-color:White; border-color:Gray; border-style:solid; border-width:1px;border-radius:10px; font-family: Times New Roman; text-transform: none;" id="textarea" type="text" name="textarea">
<p id="lyrics"></p> // this is where i want the story to be shown
</body>
</html>
这是我的 Java 脚本代码。
var alpha = document.querySelector('#alpha');
var story = document.querySelector('#story');
var options2 = songs.querySelectorAll('option');
function giveSelection(alphaValue)
{
songs.innerHTML = '';
for(var i = 0; i < options2.length; i++)
{
if(options2[i].dataset.option === alphaValue)
{
story.appendChild(options2[i]);
}
}
}
giveSelection(alpha.value);
$.ajax({
type: 'get',
url: 'english.xml',
dataType: 'xml',
success: function(data) {
console.log(data)
}
});
当用户 select 从 select 中选择一个选项时,我希望只有从 XML 文件中提取的主题(<p>
类别)显示为输出。
如果您像这样在控制台中打印错误,可能更容易调试:
$.ajax({
type: 'get',
url: 'english.xml',
dataType: 'xml',
error: function (e) {
console.log("XML reading Failed: ", e);
},
success: function(data) {
console.log(data)
}
});
另外,请注意,在您发布的代码中,最后缺少分号 (;)。
我发现函数没有被调用。
Html
<select class="letters" id="alpha" onchange="giveSelection(this.value)" onclick="calltext()">
JavaScript
function (calltext){$ajax....}
我还必须更改 select 的 ID。