如何在PHP和JS之间共享变量
How to share variables between PHP and JS?
我有一个表单,它接受单个输入,理想情况下在PHP的shell命令中处理它,然后返回一个数组。
表单是由myform.submit();
运行onChange="onChange();"
后在JS中提交的。
- 如何防止表单提交后页面刷新?
- 如何传递数组回JS?
CODE UPDATE:
AJAX代码我有点在这里,但我不确定如何实现它。
我的PHP/HTML:<form action="test.php" method="post" id="CONFIRM">
<input class="txt" value="myVal" type="text" size="12" maxlength="9" name="myName" id="myID" onKeyUp="checkUpdate();" onChange="checkUpdate();" onFocus="" />
</form>
我的JS:
function checkUpdate(){
var form = document.getElementById('CONFIRM');
form.submit();
}
您需要使用某种AJAX请求来阻止浏览器的默认操作。
HTML:<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="path-to-scripts.js"></script>
</head>
<body>
<form id="myform" method="post" action="">
<fieldset>
<legend for="info">Some Info</legend>
<input type="text" id="info" name="info" placeholder="some info" />
</fieldset>
<filedset>
<input type="submit" value="Submit" />
</fieldset>
</form>
</body>
JavaScript: (function($) {
$('#myform').submit(function(event) {
event.preventDefault();
$.ajax({
type: 'post',
url: 'path-to-your-php-file.php',
data: $('#myform').serialize(),
timeout: 50000
}).done(function(responseData) {
// Do something with the response data.
}).fail(function(error) {
// Not good.
});
});
})(jQuery);
现在,假设你想用responseData调用一个php函数。您还需要考虑如何返回responseData。它是一个物体吗?这将决定您如何处理下一个请求。根据您如何设置内容,可以像一样轻松地执行:
JavaScript:...
}).done(function(responseData) {
if (responseData)
{
$.ajax({
type: 'post',
data: responseData,
url: 'path-to-your-next-php-file.php',
timeout: 50000
}).done(function(responseData) {
// Do something with the response data.
}).fail(function(error) {
// Not good.
});
}
}).fail(function(error) {
...
然而,这样做,你将开始进入许多嵌套的ajax调用,这可能导致"回调地狱"。你可能会想看看用承诺让你的生活更轻松。
有两个问题(含答案)可以帮助你:
-
php和Javascript之间的变量
-
将变量从PHP传递到JavaScript的有效方法
相关文章:
- 在索引.html和应用.js [node.js] 之间共享变量
- html5视频播放器和视频js之间的关系
- 在DIV Angular JS之间切换
- 使用PKCS7Padding在python和Node.js之间进行AES加密
- 在控制器angular js之间共享数据
- 节点中的端点与快速应用程序.js之间的冲突
- 哇滑块和棱角分明.js之间的冲突
- 什么'Angular2-all.umd.js和Angular2.js之间的区别
- angularjs和node.js之间共享库的模式
- 正在节点d3.js之间创建链接,当前返回Uncaught TypeError:无法读取属性'weight'
- d3.js 和 d3.v3.js 之间的区别
- 在 JSON/View in onPreResponse in happy.js 之间切换
- Symfony2和Angular.JS之间共享的翻译
- socket.io 和节点.js之间的区别
- HandleBar js 和 Mustache js 之间的关系
- 匹配媒体和查询js之间的区别
- d3.js 和图表.js之间的比较(仅适用于图表)
- 首选项.xul 和首选项.js之间的通信
- 如何在后台.js和弹出窗口.js之间进行通信
- 无法在TCP服务器和节点.js之间发送消息