我尝试将此值传递给我的php代码,但我不知道该怎么做。 开机自检方法不起作用。(我不知道为什么(。
<script>
var val = localStorage.getItem('sumalist');
$.ajax({
type: "POST",
url: "index.php",
data: {value: val},
success: function () {
console.log(val);
}
});
</script>
在我的 PHP 代码中,没有设置值。
if (isset($_POST["value"])) {
echo "Yes, value is set";
$value = $_POST["value"];
}else{
echo "N0, value is not set";
}
PS:我的php代码在js代码的同一个文件中。
检查这是否有效
<?php
if(!empty($_POST)) {
$value = (isset($_POST["value"])) ? $_POST["value"] : NULL;
$return = ($value != NULL) ? "Yes, value is: ".$value : "N0, value is not set";
echo $return;
exit;
}
?>
<script src="//code.jquery.com/jquery-3.3.1.js"></script>
<script>
var val = 'value sent';
$.ajax({
type: "POST",
url: "index.php",
data: {value: val},
success: function (ret) {
console.log(ret);
}
});
</script>
Open console for result
如果您使用的是 chrome,请使用控制台,然后打开控制台并尝试调试, 首先,你在jquery就绪函数中运行ajax函数,如下所示
$(document).ready(function (){ $.ajax( replaced for ajax function ) }
如果要在回调成功函数中使用响应,请使用以下命令:
success: function (ret) {
console.log(ret); //Prints 'Yes, value is set' in browser console
}
在浏览器中,您有开发人员工具 - 按 F12 打开,转到网络选项卡(FireFox、Chrome、IE - 都一样(,然后重新加载您的页面,您将看到 AJAX 调用的行(如果在加载时执行,或者如果不是这种情况,则触发您的调用(,选择它,右手您将看到一个额外的框架,您可以在其中查看请求的所有详细信息, 包括请求参数、标头、响应标头、实际响应和许多其他参数。
这是检查您的 AJAX 请求的最佳解决方案,而无需询问未完成的问题并寻求答案,以防有人可以在他的脑海中组装您的完整案例。
相信我 - 这对您来说是最好的解决方案,而不仅仅是这种情况!
当然,你的JS应该在DOM准备好的时候执行,所以你必须把它包装在
${function() {
// your code here
});
如果您想在加载时执行。