将JQuery GET请求的结果存储为javascript变量
我试图使用JQuery和JS获取html文件名/URL,并返回该文件中的所有文本(不包括标记) 我以前从未使用过JQuery,也不知道为什么我的代码不起作用 我正在使用HTML表单获取文件名 提交表单时,它会触发一个JS函数,该函数应从提供的文件名中检索文本,并将其存储为变量 第一段代码是我的JS文件。 第二个是包含表单的HTML页面。 第三个是测试页面将JQuery GET请求的结果存储为javascript变量,javascript,jquery,html,Javascript,Jquery,Html,我试图使用JQuery和JS获取html文件名/URL,并返回该文件中的所有文本(不包括标记) 我以前从未使用过JQuery,也不知道为什么我的代码不起作用 我正在使用HTML表单获取文件名 提交表单时,它会触发一个JS函数,该函数应从提供的文件名中检索文本,并将其存储为变量 第一段代码是我的JS文件。 第二个是包含表单的HTML页面。 第三个是测试页面 var pageWords; function showWords() { var filename = $('#filename'
var pageWords;
function showWords() {
var filename = $('#filename');
$.get(filename, function (data) {
pageWords = data;
//alert(pageWords)
});
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Word Count Page</title>
<script src="JQUERY.js"></script>
<script src="wordCount.js"></script>
</head>
<body>
<div id="inputContainer">
<form>
Enter a file name to be evaluated:
<input type="text" id="filename">
<input type="submit" id="submit" onsubmit="showWords()">
</form>
</div>
<div id="results">
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>test file</title>
</head>
<body>
<b>Some text</b>
Some more
<small>small text</small>
</body>
</html>
var页面词;
函数showWords(){
var filename=$(“#filename”);
$.get(文件名、函数(数据){
页面字=数据;
//警报(页面文字)
});
}
字数页
输入要计算的文件名:
测试文件
一些文本
更多
小文本
您的代码几乎正确,但您正在将输入元素而不是输入值传递给jQuery。此外,只要用户单击提交按钮,您的
就会被提交,这可能会将用户重定向到另一个页面并丢弃所有表单数据
以下内容可能会解决这些问题
var pageWords;
function showWords() {
// var filename = $('#filename'); // `filename` is an object
var filename = $('#filename').val(); // `val()` returns the content of the input
$.get(filename, function (data) {
pageWords = data;
//alert(pageWords)
});
}
// Remember to abort the default submit action
var form = document.querySelector('form')
form.addEventListener('submit', event => event.preventDefault())
@KevinB你在这两点上都是完全正确的。。。两个都修好了!