当我从api接收到一些信息时,我想更新一个输入字段的值。我试着使用。
$('#txtFirstName').val($_SESSION['jUser']['first_name']);
但由于PHP不能在js文件中运行,所以出现了一个错误。否则我怎么能让这个更新呢?在js中有没有一种方法可以在不提交的情况下更新整个表单和输入字段?
我不能重新加载整个窗口,因为这会消除网站用户输入的其他信息。
1) 从php脚本中把值放到#txtFirstName中。
// script.php code
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
echo $_SESSION['jUser']['first_name'];
}
// javascript code
function func(){
$.ajax({
type: "POST",
url: "script.php",
success: function (response) {
$('#txtFirstName').val(response);
},
error: function (e) {
console.log("ERROR : ", e);
}
});
}
2) 从javascript中将值放入$_SESSION['jUser']['first_name']中。
// javascript code
function func(){
var your_value = "some_value";
$.ajax({
type: "POST",
url: "script.php",
data: { va: your_value },
success: function (response) {
console.log("value setted to session successfully");
},
error: function (e) {
console.log("ERROR : ", e);
}
});
}
// script.php code
if ($_SERVER['REQUEST_METHOD'] === 'POST' && $_POST['va'] !='') {
$_SESSION['jUser']['first_name'] = $_POST['va'];
echo "ok";
}
你为什么不干脆 echo
从php脚本中获取的值,并制作一个 AJAX
请求从javascript中获取值?这应该是推荐的方法。
不过,也可以用你采取的方法来实现。
let first_name = <?php echo $_SESSION['jUser']['first_name']; ?>:
$('#txtFirstName').val(first_name);
进一步的阅读,你可以访问 如何在JavaScript中嵌入PHP代码?.