我想在提交PHP表单时执行JS函数,并且从该函数中,我想将一个值(基于用户的输入)返回给PHP,我想在其中回应它.
这是一个SSCCE.在实际代码中,不仅仅是回显值,而且值是JSON对象.
以下是我的代码.问题是$.ajax();部分不起作用.警报(名称)后,浏览器中没有任何操作;
为什么这不正常?我怎样才能解决这个问题?
来自index.PHP:
<form id="form">
Name:
<input id="name" type="text" />
<input type="Submit" value="Go" />
</form>
来自scripts.js:
$(document).ready(function() {
$("#form").submit(function(event) {
event.preventDefault();
var name = $("#name").val();
alert(name);
$.ajax({
type:'POST',
url:'echo.PHP',
data: {
nameEntered : name
}
});
});
});
echo.PHP:
<?PHP
if ( isset($_POST["nameEntered"]) && !empty($_POST["nameEntered"]) ) {
echo $_POST["nameEntered"];
} else {
echo '$_POST["nameEntered"] is not set.';
}
?>
编辑:
安慰:
网络:
编辑2:
,
success: function(){
alert("success");
},
error : function(){
alert("error");
}
我得到一个警告说成功,但浏览器从不指示echo.PHP = s
编辑3:
警报说成功后,一个?被添加到浏览器中的URL.最初的URL是http://localhost/Test12/index.PHP,它更改为http://localhost/Test12/index.PHP?.
解决方法:
作为测试,将echo.PHP替换为:
<?PHP
echo 'Incoming = ' .$_POST["nameEntered"]. "/r/n";
if (isset($_POST["nameEntered"]) && !empty($_POST["nameEntered"])) {
echo 'Here 01';
} else {
echo 'Here 02';
}
?>