gpt4 book ai didi

javascript - Ajax 的数据参数未到达服务器

转载 作者:行者123 更新时间:2023-12-03 10:30:15 25 4
gpt4 key购买 nike

好吧,这是我的问题。

我有一个 html 页面,其中初始化了一个 javascript 变量。

<html>
<script>
MyVaribale = "Random Data";
</script>

<!-- Then I include an external js file to handle the processes in this html file -->

<script type="text/javascript" language="javascript" src="/scripts/some_random_script.js"></script>

</html>

现在,在该脚本中。我在其中一个 ajax 请求中使用了 MyVaribale 变量,如下所示:

$(document).ready(function() {
$.ajax(
url : '/some/random/url',
data : { MyVariable : MyVaribale }
etc ...
);
});

因此,在页面加载时,ajax 代码会立即执行。

在上面指定的 URL 中,我检查了 MyVaribale 是否存在,然后标记一个错误,如果它不存在,则表明它是必需值。

后端代码如下(Perl 语言):

my $MyVariable = trim_param('MyVariable'); # trim_param() is a function that gets the passed data from ajax.

if ( $MyVariable ) { # Test if it exists
# Display something
}
else {
# Flag an error, which is my problem
}

现在我确信在 html 页面中,该变量始终被填充(是的,100% 确定)。但我总是收到标记错误,表明该值在我的后端代码中不存在(网址如上)。

所以问题,

ajax 的 document.ready 是否存在问题,也许它在变量完成赋值之前执行?知道为什么会发生这种情况吗?因为我的ajax请求有时成功,有时不成功

谢谢

最佳答案

您的 ajax 调用的语法不正确。看看here然后尝试此代码(注意添加 {},):

MyVaribale = "Random Data";

$(document).ready(function() {
$.ajax({
url: '/some/random/url',
data : { myVariable : MyVaribale }
});
});

关于javascript - Ajax 的数据参数未到达服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29249581/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com