Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript没有从php接收回数据_Javascript_Ajax - Fatal编程技术网

Javascript没有从php接收回数据

Javascript没有从php接收回数据,javascript,ajax,Javascript,Ajax,我有一个表单发送到php,其中有一些文本字段和图像字段。但是我的javascript没有收到来自php的回音。它将我重定向到一个php,其中的数据在那里回荡。想知道为什么我的javascript会这样做。 谢谢你的时间 <script type="text/javascript" > $("button#signinbutton").click(function() { if ($("#list").val() == "") { $("p#resu

我有一个表单发送到php,其中有一些文本字段和图像字段。但是我的javascript没有收到来自php的回音。它将我重定向到一个php,其中的数据在那里回荡。想知道为什么我的javascript会这样做。 谢谢你的时间

<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运行。