【发布时间】:2018-05-17 04:03:49
【问题描述】:
我有以下代码:
$(document).ready(function(){
var btn = $('a.btn-primary');
var closeDate = $('td.closeDate');
var applyBtn = $('<input type="button" value=" Apply " class="toggleButton" \>');
//Rmove a link
btn.remove();
//Add button
applyBtn.insertAfter(closeDate);
$('.toggleButton').click(function(){
var obj = $(this).closest('tr');
var data = {
vacancyID: obj.find('td.vacancyID').text(),
closeDate: obj.find('td.closeDate').text(),
roleLongTitle: obj.find('td.roleLongTitle').text(),
roleRequirements: obj.find('td.roleRequirements').text(),
roleResponsibilities: obj.find('td.roleResponsibilities').text(),
roleQualifications: obj.find('td.roleQualifications').text(),
}
//Post the data to the page
$.ajax({
type: 'POST',
url: 'vacancy.php',
data: data,
success: function(data){
alert(data);
}
});
//$.post("vacancy.php", data, function(){
//alert(data);
//});
console.log(data.vacancyID);
})
});
在控制台中数据显示正确,但警报显示完全。我发布的页面也没有看到帖子。见下图:
我希望只看到与我点击的按钮相关的数据,而不是两个空缺。谁能帮忙告诉我们哪里出错了。
【问题讨论】:
-
您的控制台和警报包含两个不同的值。
console.log(data.vacancyID);和alert(data);警报将打印data中的所有内容,而控制台仅打印vacancyID -
你需要做
alert(data.vacancyID); -
对不起,控制台日志必须是
console.log(data)。控制台日志根据单击的按钮显示数据。 -
@Willem 控制台结果是什么。
-
您需要为
data: data,使用不同的变量,因为success: function(data){是url: 'vacancy.php',的回调,您最终可能会在这里混淆。所以最好是安全的。