AJAX:无法让我的ajax $ .post请求生效

时间:2013-05-03 12:59:00

标签: javascript jquery ajax

将这个数组发布到PHP脚本的简单代码。问题是没有数据发送到服务器端。有什么问题?

JS CODE

// Ajax call for sending song wish
var wishName = $('#wish-name').val();
var wishEmail = $('#wish-email').val();
var wishSong = $('.wish-input input').val();
var postData = {name: wishName, email: wishEmail, song: wishSong};

function postSongSuccess(data) {
    if(data == 1) {
        console.log(data);
    }
    else if(data == 0) {
        console.log(data);
    }
}

$('#send-song').click( function() {
   $.post("./wp-content/plugins/wish-song/wishSong.php", postData, postSongSuccess);
   alert(wishName);
   console.log(postData);
});

HTML CODE

<div class="wish-input-half">
    <label>Ditt för- och efternamn</label>
    <input id="wish-name" type="text">
</div>
<div class="wish-input-half">
    <label>Din e-postadress</label>
    <input id="wish-email" type="text">
</div>
<div class="clearfix"></div>
<div class="wish-input">
    <label>Skriv artist och låttitel</label>
    <input id="wish-song" type="text">
</div>
<div class="wish-input-submit">
    <input id="send-song" type="submit">
</div>

1 个答案:

答案 0 :(得分:0)

在页面加载时看起来像var wishName = $('#wish-name').val();,而不一定是在用户更改/提供值时。

您必须在用户想要发送数据时读取值,而不是事先。

function postSongSuccess(data) {
    if(data == 1) {
        console.log(data);
    }
    else if(data == 0) {
        console.log(data);
    }
}

$('#send-song').click( function() {
   $.post("./wp-content/plugins/wish-song/wishSong.php", {
        name: $('#wish-name').val(),
       // ...
   }, postSongSuccess);
});