Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.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
Php jquery,通过ajax获取数据,然后提交表单_Php_Jquery_Ajax - Fatal编程技术网

Php jquery,通过ajax获取数据,然后提交表单

Php jquery,通过ajax获取数据,然后提交表单,php,jquery,ajax,Php,Jquery,Ajax,我试图通过ajax获取数据,然后通过表单发送。然而,它似乎不起作用。你知道我做错了什么吗 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script> <form method="get" action="test.php"> <input id="myvar" type="hidden" name="albumid" />

我试图通过ajax获取数据,然后通过表单发送。然而,它似乎不起作用。你知道我做错了什么吗

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>

<form method="get" action="test.php">
    <input id="myvar" type="hidden" name="albumid" />
    <button type="submit" id="btnsubmit">Submit</button>
</form>

<script type="text/javascript">
    $('form').submit(function() {  
     $.ajax({
            url: "newAlbum.php",
            success: function(data){
            var album = data;
                 $('#myvar').val(album);
             }
          });   

    });
</script>
newAlbum.php

<?PHP echo '11'; ?>
test.php

<?php echo $_GET["albumid"]; ?>

好的,尝试添加如下内容:

 $('form').submit(function() {  
       $.ajax({
        url: "newAlbum.php",
        async:false,
        success: function(data){
        var album = data;
             $('#myvar').val(album);
         }
      });   

});

尝试以JSON的形式接收数据

$.getJSON()

正如其他人指出的,您需要添加数据参数。但我也会使用$this.serialize,因为这将获取所有表单输入元素

<script type="text/javascript">
    $('form').submit(function() {  
        $.ajax({
            url: "newAlbum.php",
            data: $(this).serialize(),
            success: function(data){
            var album = data;
                 $('#myvar').val(album);
            },
            error : function(data) {
                console.log(data);   
            }
          });   
    });
</script>

我添加了数据参数,但ajax似乎返回false,不允许我提交表单。我在newAlbum上所做的就是echo 11I添加了一个错误处理程序并删除了return false;。检查Chrome中的控制台F12,查看错误是什么。添加了数据参数,但ajax似乎返回false,不允许我提交表单。我在newAlbum.php上的所有内容都是echo 11,您是否可以尝试将return设置为true;关于成功函数?同样的事情。当我点击submit时,什么也没有发生,下面是我所有3个页面的更新代码:好的,在页面加载时尝试调用ajax函数,然后提交表单。检查更新的代码我让它工作了。我添加了async:false,它在ajax完成之前阻止表单提交。谢谢你的帮助