我一直在浏览过去的答复并窃取代码,但似乎没有任何效果!加载脚本时,我正在尝试在单独的PHP文件中执行PHP函数。我收到警告消息,但它是在控制台上提交的,但没有任何控制台消息出现。
我读到AJAX函数需要响应,这就是为什么我添加了echo('Text')的原因。我正在使用Google浏览器。 我对jsQuery,javascript或AJAX并不了解。 PHP和HTML是我的强项。
在我的HTML代码中:
<body onload = "Start()">
<script>
var Start = function() {
$(document).ready(function(){
$.ajax({
type: "POST",
url: 'MainRoutine.php?action=Startfunc',
data: {func: "Startfunc"},
success: function(response) {
$('.result_Postme').text(response);
}
})
alert("Form submitted successfully.\n"); // this is working!
});
}
</script>
在我的MainRoutine.php文件中:
if (isset($_POST['func']) && ($_POST['func'] == 'Startfunc')) {
ChromePhp::log("Start Handle"); // the expected console message
echo('Text'); // not sure why I'm doing this...
Start(); // this is the function I'm trying to execute!
}else{
ChromePhp::log("Error"); // not even this one displays
}
function Start() {
echo('Text'); // not sure why I'm doing this either
}
我不打算将任何变量传递给PHP“ Start()”函数,我只想执行它!
答案 0 :(得分:0)
您正在传递action
作为代码中的参数。您正在像func
中一样检查$_POST
。
请参见下面的正确代码:
<script>
var Start = function() {
$(document).ready(function(){
$.ajax({
type: "POST",
url: 'MainRoutine.php?action=Startfunc',
data: {func: "Startfunc"},
success: function(response) {
$('.result_Postme').text(response);
}
})
alert("Form submitted successfully.\n"); // this is working!
});
}
</script>
在您的MainRoutine.php
文件中:
if(isset($_REQUEST['action']) && $_REQUEST['action']=='Startfunc'){
ChromePhp::log("Start Handle"); // the expected console message
echo('Text'); // not sure why I'm doing this...
Start(); // this is the function I'm trying to execute!
}else{
ChromePhp::log("Error"); // not even this one displays
}
function Start() {
echo('Text'); // not sure why I'm doing this either
}