[英]Most efficient way for JSON or JS object to be passed along with Form Data via AJAX POST to PHP
[英]pass json object via post along with other data
我试图通过3个变量传递一个网站的基本管理面板的帖子。
我有这样的形式
<script>
var json = {"thing":"stuff"};
var json_file = JSON.stringify(json);
</script>
<form action='load.php' method='post'>
<input type='hidden' name='username' value='<?php echo $_POST["username"]; ?>' />
<input type='hidden' name='password' value='<?php echo $_POST["password"]; ?>' />
<input type='hidden' name='json' value='json_file' />
<input type='submit' value='Submit' />
</form>
我需要传递用户名和密码,以确保该人有权访问。 并且json是要传递的,以便PHP脚本可以将其写入文件。
我尝试将json_file
包装在btoa(json_file)
并使用base64_decode($_POST["json"])
进行编写,但是它总是在写东西,所以不应该使用'。'
<script>
var json = {"thing":"stuff"};
var json_file = JSON.stringify (json);
</script>
<form method='post' onsubmit="this.json.value = json_file;">
<input type='hidden' name='json'/>
<input type='submit' value='Submit' />
</form>
<?php
if (isset ($_POST['username'], $_POST['password'])) {
if ($_POST['username'] == 'admin' && $_POST['password'] == 'password') {
// do something
}
}
?>
value='json_file'
意味着该值设置为字符串'json_file'
,而不是变量json_file
的值。 您可以改为执行以下操作:
<script>
var json = {"thing":"stuff"};
var json_file = JSON.stringify(json);
window.onload = function() {
document.getElementsByName('json')[0].value = json_file;
};
</script>
<form action='load.php' method='post'>
<input type='hidden' name='username' value='<?php echo $_POST["username"]; ?>' />
<input type='hidden' name='password' value='<?php echo $_POST["password"]; ?>' />
<input type='hidden' name='json' />
<input type='submit' value='Submit' />
</form>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.