簡體   English   中英

將 JQuery GET 請求的結果存儲為 javascript 變量

[英]Storing the result of a JQuery GET request as a javascript variable

我正在嘗試使用 JQuery 和 JS 來獲取 html 文件名/U​​RL 並返回該文件中的所有文本(不包括標簽)。

我以前從未使用過 JQuery,無法弄清楚為什么我的代碼不起作用。

我正在使用 HTML 表單來獲取文件名。

提交表單時,它會觸發一個 JS 函數,該函數應該從提供的文件名中檢索文本,並將其存儲為變量。

第一段代碼是我的 JS 文件。 第二個是具有表單的 HTML 頁面。 第三個是測試頁。

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>

您的代碼幾乎是正確的,但是您將輸入元素而不是輸入值傳遞給 jQuery。
此外,您的<form>將在用戶單擊提交按鈕后立即提交,可能會將用戶重定向到另一個頁面並丟棄所有表單數據。

以下內容可能會解決這些問題。

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())

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM