我想要做的是阅读另一个html的正文内容并将其保存为javascript函数中的var。我现在使用jQuery的是$(id of this document).load(link goes here)
。例如:
$("#test").load("/form.cgi?A1=?")
表单只有一个包含<body>some value</body>
<a id="test">hello</a>
此方法效果很好,因为我根本不必使用DOM。
但是,我想将数据存储到javascript变量中。所以,我认为我完成了一半。有人可以说明如何这样做吗?
理想情况下,如:
“的功能(测试) {
var x = $ .load(test);
//操纵x,例如parseInt / parseFloat等
} “ 谢谢!
答案 0 :(得分:0)
var x = $("#test").load("/form.cgi?A1=?").html();
如果你想要html文件的内容,你应该这样做。
答案 1 :(得分:0)
.load()
是$.ajax()
的缩写,因此,您可以像这样使用普通的Ajax请求:
jQuery的:
var result;
$.ajax({
type: 'POST',
url: '/form.cgi?A1=?',
success: function(data) {
result = data;
},
async: false
// async to false so that we don't access an empty variable before the request is finished
});
答案 2 :(得分:0)
您可能想要改变您的方法:
var myVar = '';
$.get('/form.cgi?A1=?', function(data) {
myVar = data;
});
alert(myVar);
无法在回调函数外部访问myVar
的值,因为在加载页面时,此Ajax调用是异步的,并且尚未调用回调函数且myVar的值没有更改后,alert
语句将执行,这就是您获取空数据的原因。
要保留此答案,请使用回调函数中的myVar
,如下所示:
var myVar = '';
var externalVar = '<p>text</p>';
$.get('/form.cgi?A1=?', function(data) {
myVar = data;
//use myVar here for whatever purpose you want it for
var myNewVar = myVar + ' ' + externalVar;
});
一旦回调函数完成,您可以使用myVar
的值,在ajax调用之后可能是5秒,30秒等
<input type="button" value="pol" onclick="alert(myVar);" /> //should work
有关详细信息,请参阅我在评论中发布的链接
答案 3 :(得分:0)
基于所提供的编码,这是我目前拥有的。它不漂亮,但确实可以解决问题:
$.get( /form.cgi?A1=?, function(data){
document.getElementById("value").innerHTML = data;
var y = parseFloat(document.getElementById("value").innerHTML);
alert(y);
});
我使用document.getElementById("value").innerHTML
的原因是删除了包含所需值的<body>
标记(即<body>value</body>
)。到目前为止,这是关于如何正确解析parseInt / parseFloat的唯一方法。如果我不这样做,那么由于body标签它会返回NaN。如果你有更好的方法,请告诉我。感谢