I have a problem with form in Greasemonkey . I want to send a boolean value usign GM_xmlhttpRequest, but if I send:
JavaScript
x
GM_xmlhttpRequest({
method: "POST",
url: "http://localhost/test.php",
data: "confirm=true",
headers: {
"Content-Type": "application/x-www-form-urlencoded"
},
onload: function(response) {
console.log(response.responseText);
}
});
Test php:
JavaScript
var_dump( $_POST );
At the console I see:
array(1) { [“confirm”]=> string(4) “true” }
How can I solve this problem ?
Advertisement
Answer
Just convert the value to Boolean on the server side – you already have the value.
You can either do a straight $myVar = $_POST["confirm"] === "true";
or use filter_var
with the FILTER_VALIDATE_BOOLEAN
flag, to cover more options:
$myVar = filter_var($_POST["confirm"], FILTER_VALIDATE_BOOLEAN);
– this allows you to cover true
, TRUE
, on
, yes
, etc. – all interpreted as Boolean true
.