Javascript没有从php接收回数据
我有一个表单发送到php,其中有一些文本字段和图像字段。但是我的javascript没有收到来自php的回音。它将我重定向到一个php,其中的数据在那里回荡。想知道为什么我的javascript会这样做。 谢谢你的时间Javascript没有从php接收回数据,javascript,ajax,Javascript,Ajax,我有一个表单发送到php,其中有一些文本字段和图像字段。但是我的javascript没有收到来自php的回音。它将我重定向到一个php,其中的数据在那里回荡。想知道为什么我的javascript会这样做。 谢谢你的时间 <script type="text/javascript" > $("button#signinbutton").click(function() { if ($("#list").val() == "") { $("p#resu
<script type="text/javascript" >
$("button#signinbutton").click(function() {
if ($("#list").val() == "") {
$("p#result").html("Please enter both userna");
} else {
$.post($("#submitform").attr("action"), $("#submitform").serializeArray(), function(data) {
var reply = data.replace(/\s+/, "");
if($.trim(data) == 'success'){
location.replace("account.html")
}
else
{
$("p#result").html(data);
}
});
}
});
$("#submitform").submit(function() {
return false;
});
</script>
$(“按钮#登录按钮”)。单击(函数(){
如果($(“#列表”).val()=“”){
$(“p#result”).html(“请同时输入两个userna”);
}否则{
$.post($(“#submitform”).attr(“操作”),$(“#submitform”).serializeArray(),函数(数据){
var reply=data.replace(/\s+/,“”);
如果($.trim(数据)=“成功”){
location.replace(“account.html”)
}
其他的
{
$(“p#result”).html(数据);
}
});
}
});
$(“#submitform”).submit(函数(){
返回false;
});
听起来您的表单正在进行标准表单提交,浏览器将重新加载页面。最可能的原因是没有将事件处理程序包装到DOM就绪函数中。在关闭
之前,请使用DOM就绪包装器,或将代码移动到页面末尾。表单和按钮在分配事件时不存在于DOM中,因此它们永远不会被激发
$(function(){
$("button#signinbutton").click(function() {
...
});
$("#submitform").submit(function() {
return false;
});
});
这将导致AJAX提交,并阻止页面刷新。如果有文件上载输入,则不能使用
serializeArray()
很抱歉,键入错误,修复了它。您的PHP看起来像什么?我只是尝试将代码移到end body标记之前的末尾。但它不允许上传图像。它错误地给出了未定义的index:file,但是如果我删除javascript,图像可以上传,但是echo会移动到一个空白的php页面?允许文本和图像吗?这解决了您的第一个问题,因为现在ajax正在提交,但是jQuery的serializeArray()和$.post()不会上载文件,它只发布标准表单输入元素(而不是文件)。对于AJAX文件上传,我只是想知道是否可以使用.get检测php的结果/回音?因为我已经在php中运行了所有验证图像的程序。但如果我只是点击按钮,那么它就不会等到php通过tho运行。