我有一个AJAX函数,每次按下回车键都会被调用。我有一组javascript变量,这些变量被传递到AJAX函数的数据中。以前,这些JS变量等于HTML中的元素(文本区域的内容)。现在,我希望这些JS变量等于函数外部JS变量的值。
function stream()
{
var line_Number = $('#lineNumber').val();
var post_code = '#lineText';
var post_id = $('#Streamid').val();
if (post_code != ''){
$.ajax({
url: "post-code.php",
method: "POST",
data: {lineText: post_code, lineNumber: line_Number},
dataType: "text",
success: function(data){
if(data != ''){
$('#Streamid').val(data);
}
$('#autoStream').text("Sending data");
setInterval(function(){
$('#autoStream').text('');
}, 100);
}
});
}
}
然后另一个函数调用AJAX函数
这是我要访问并传递给AJAX函数的JS变量
var text;
var lineNumber;
var lineText;
var numOfSpaces;
function update(e) {
text = //code
lineNumber = //code
lineText = //code
我没有显示每个变量的代码,因为我认为这可能不必要地使它复杂化。
答案 0 :(得分:0)
如果我理解您的问题,则可以选择以下选项:
1-使用隐藏的HTML元素:
<input type="hidden" id="someVariable">
您要在脚本(JQuery)中初始化的位置:
$('#someVariable').val(myVar)
和ajax函数(JQuery)中的脚本中:
var myVar = $('#someVariable').val()
2-您知道var
的范围,如果它是在javascript中的函数外部声明的,则为漏洞文档(窗口)。
3-将参数传递给您的Ajax函数。例如:
function stream(firstVariable, secondOne, ...)
答案 1 :(得分:0)
嗨,您可以创建一个json数组,并将其作为ajax函数的参数传递, 这样可以避免编写不必要的代码,例如:
let params = {
"line_number": $('#lineNumber').val(),
"post_code" : '#lineText',
"post_id" : $('#Streamid').val()
};
function stream(params)
{
if (params.post_code != ''){
$.ajax({
url: "post-code.php",
method: "POST",
data: data,
dataType: "text",
success: function(data){
if(data != ''){
$('#Streamid').val(data);
}
$('#autoStream').text("Sending data");
setInterval(function(){
$('#autoStream').text('');
}, 100);
}
});
}
}
希望有帮助