是否可以从php检索布尔值到javascript?
我想做的只是简单:从php变量$x
中检索布尔值到js
发送电子邮件时应 true
- 醇>
当电子邮件未发送时错误
然后使用 javascript 打印相应的消息
我的工作完整代码here,就我昨天开的另一个案例
而言PHP:
if (!$mail->send()) {
$x = false; //when email is not sent
} else {
$x = true; //when email is sent
}
JS Pseudocode
.done(function (data) {
if(php Boolean variable is false) {
("$formText").html("Message sent");
} else (if php Boolean variable is true) {
("$formText").html("Message not sent");
}
});
答案 0 :(得分:1)
我假设您已经传递数据(通过AJAX),您只是不知道如何编码。
使用:json_encode()
PHP:
if (!$mail->send()) {
$x = true;
} else {
$x = false;
}
header("Content-type: application/json");
echo json_encode(array('x'=>$x));
使用Javascript:
.done(function (data) {
if (data.x) {
$("#formText").html("Message sent");
} else {
$("#formText").html("Message not sent");
}
} //end function data
);//end done function
答案 1 :(得分:0)
从PHP代码返回bool值时使用json_encode()。它从本机PHP类型转换为本机Javascript类型。
答案 2 :(得分:0)
使用响应代码并使用完成和失败处理它们
PHP
<?php
// ...
$success = '{"message": "your mail is send"}';
$error = '{"message": "failed sending mail"}';
$code;
$out;
if(mailSend){
$code = 200;
$out = $success;
} else {
$code = 400;
$out = $error;
}
http_response_code($code);
echo $out;
JS
// ...
var data = 'yourData';
$.ajax({
url: 'yourApiUrl'M,
data: data,
method: 'POST',
xhrFields: {withCredentials: true},
crossDomain: true,
dataType: 'json'
}).done(function() {
// mail was send
}).fail(function() {
// error on sending
});
上找到的状态代码列表