所以我的服务器上有一个处理HTTP POST请求的php文件。当它收到一个post请求时,它会运行一个javascript脚本。
目前我的脚本上有echo' ...&#39 ;; 但问题是,使用echo内部的脚本,它只是将原始代码发送到生成HTTP帖子的地方而不实际运行脚本。
有没有办法可以运行脚本而不回复它。
由于
<?php
define('VERIFY_TOKEN', 'abc');
$method = $_SERVER['REQUEST_METHOD'];
if ($method == 'GET' && $_GET['hub_mode'] == 'subscribe' && $_GET['hub_verify_token'] == VERIFY_TOKEN) {
echo $_GET['hub_challenge'];
}
else if ($method == 'POST') {
echo '
<script type="text/javascript" src="parse-1.4.2.min.js"></script>
<script type="text/javascript">
Parse.initialize("ID1", "ID2");
var TestObject = Parse.Object.extend("Test");
var testObject = new TestObject();
testObject.set("key", "post");
testObject.save();
</script>';
}
?>
答案 0 :(得分:1)
你可以这样尝试
<?php else if ($method == 'POST') {?>
<script type="text/javascript" src="parse-1.4.2.min.js"></script>
<script type="text/javascript">
Parse.initialize("ID1", "ID2");
var TestObject = Parse.Object.extend("Test");
var testObject = new TestObject();
testObject.set("key", "post");
testObject.save();
</script>
<?php }
?>
否则我认为还有其他任何方式
答案 1 :(得分:1)
当您的浏览器收到回复时,它会预期正确的HTML(以及两个<script>
标记不是正确的HTML)。尝试将响应包装在一些最小的HTML中:
echo '
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="parse-1.4.2.min.js"></script>
<script type="text/javascript">
Parse.initialize("ID1", "ID2");
var TestObject = Parse.Object.extend("Test");
var testObject = new TestObject();
testObject.set("key", "post");
testObject.save();
</script>
</head>
<body>
</body>
</html>';
}
答案 2 :(得分:0)
事实证明,由于javascript需要浏览器,我无法做到这一点。而且由于只有php文件我无法使用js所以我切换到所有的php。