AJAX不起作用,但正常形式提交可以

时间:2018-07-24 21:23:34

标签: php mysql ajax

谁能看到为什么这个Ajax无法发布所需数据的原因,

它仍然成功并发出警报,但没有发送数据。

正常('#formid')。submit可以正常工作,但显然页面会刷新

我需要不刷新。用于收藏夹按钮

但我不明白为什么未发送数据。

mysql和php在接收页面上都很好,并且在我正常提交时可以工作,

但是当我尝试使用ajax时,它无法发送任何数据?

<form id='addfaveform' type='submit' action='favaddDB.php' method='POST' enctype='multipart/form-data'> 

<input id='ListID2' type='hidden' name='listID2' value='' ></input>             

<input id='UID2' type='hidden' name='UID2' value='' ></input>       

<input id='accountname' type='hidden' name='accountname' value='' ></input>     

</form>

<script>

function faveadd(fid){
var listingid="favicon["+fid+"]"

var variable_UID = undefined;
var variable_listID = undefined;
var variable_accountname = undefined;


var variable_UID = document.getElementById(listingid).getAttribute("data-variable-uid2");
var variable_listID = document.getElementById(listingid).getAttribute("data-variable-listID2");
var variable_accountname = document.getElementById(listingid).getAttribute("data-variable-accountname2");

// change input variables to post to view listing page

document.getElementById("UID2").value = variable_UID;   
document.getElementById("ListID2").value = variable_listID; 
document.getElementById("accountname").value = variable_accountname;

//document.getElementById("addfaveform").submit();



          $.ajax({
            type: 'post',
            url: 'favaddDB.php',
            data: $('addfaveform').serialize(),
            success: function () {
              alert('form was submitted');
            }
          });


};

1 个答案:

答案 0 :(得分:0)

php无法捕获数据,因为您没有给ajax数据命名。例如:

PHP代码:

<?php
    if(isset($_POST['data_name'])){
        //Do somthing
    }
?>

因此,ajax呼叫应类似于:

$.ajax({
    type: 'POST',
    url: 'favaddDB.php',
    data: {'data_name': $('addfaveform').serialize()},
    success: function () {
        alert('form was submitted');
    }
});

我认为这可以解决您的问题。