我正在研究razor中的mvc项目。我正在研究导入和导出模块。 现在在我的操作中我将返回JSON对象。现在在Http Get Request或Http Post请求中我都遇到了同样的问题。因为断点打了两次,我的记录被添加到数据库中两次。
以下是我的剧本
<script type="text/javascript">
$(document).ready(function (e) {
$(".update").live('click', function () {
var id = $(this).attr('id');
var str = "";
$(this).parent('td').parent('tr').find('td.data').each(function () {
str = str + ";" + $(this).text().trim();
});
if (str.length > 0) {
str = str.substring(1, str.length);
}
var header = $("#hdn_header").val();
$.post('/ImportCSV/Update', {
ImportData: str,
ImportHeader: header
}, function (result) {
var CompName = result.CompanyName;
var CompPhone = result.CompanyPhone;
var CompEmail = result.CompanyEmail;
var CompWebsite = result.CompanyWebsite;
var CompAddress = result.CompanyAddress;
var CompZip = result.CompanyZip;
var CompCity = result.CompanyCity;
var CompCountry = result.CompanyCountry;
var CompNote = result.CompanyNote;
var ConFirstName = result.ConFirstName;
var ConLastName = result.ConLastName;
var ConTitle = result.ConTitle;
var ConPhone = result.ConPhone;
var ConEmail = result.ConEmail;
var ConNote = result.ConNote;
var ConMobile = result.ConMobile;
$(".update").each(function () {
if ($(this).attr('id') == id) {
var i = parseInt('1');
$(this).parent('td').parent('tr').find('td.data').each(function () {
if ($(this).text().trim() != CompName && $(this).index() == 2) {
{
$(this).css('backgroundColor', '#FFFFC0');
return;
}
}
if ($(this).text().trim() != CompPhone && $(this).index() == 3) {
{
$(this).css('backgroundColor', '#FFFFC0');
return;
}
}
if ($(this).text().trim() != CompEmail && $(this).index() == 4) {
{
$(this).css('backgroundColor', '#FFFFC0');
return;
}
}
if ($(this).text().trim() != CompWebsite && $(this).index() == 5) {
{
$(this).css('backgroundColor', '#FFFFC0');
return;
}
}
if ($(this).text().trim() != CompAddress && $(this).index() == 6) {
{
$(this).css('backgroundColor', '#FFFFC0');
return;
}
}
if ($(this).text().trim() != CompZip && $(this).index() == 7) {
{
$(this).css('backgroundColor', '#FFFFC0');
return;
}
}
if ($(this).text().trim() != CompCity && $(this).index() == 8) {
{
$(this).css('backgroundColor', '#FFFFC0');
return;
}
}
if ($(this).text().trim() != CompCountry && $(this).index() == 9) {
{
$(this).css('backgroundColor', '#FFFFC0');
return;
}
}
if ($(this).text().trim() != CompNote && $(this).index() == 10) {
{
$(this).css('backgroundColor', '#FFFFC0');
return;
}
}
if ($(this).text().trim() != ConFirstName && $(this).index() == 12) {
{
$(this).css('backgroundColor', '#FFFFC0');
return;
}
}
if ($(this).text().trim() != ConLastName && $(this).index() == 13) {
{
$(this).css('backgroundColor', '#FFFFC0');
return;
}
}
if ($(this).text().trim() != ConTitle && $(this).index() == 14) {
{
$(this).css('backgroundColor', '#FFFFC0');
return;
}
}
if ($(this).text().trim() != ConPhone && $(this).index() == 15) {
{
$(this).css('backgroundColor', '#FFFFC0');
return;
}
}
if ($(this).text().trim() != ConMobile && $(this).index() == 16) {
{
$(this).css('backgroundColor', '#FFFFC0');
return;
}
}
if ($(this).text().trim() != ConEmail && $(this).index() == 17) {
{
$(this).css('backgroundColor', '#FFFFC0');
return;
}
}
if ($(this).text().trim() != ConNote && $(this).index() == 18) {
{
$(this).css('backgroundColor', '#FFFFC0');
return;
}
}
});
}
});
});
return false;
});
});
</script>
以上是我的整个脚本,并再次给出相同的错误。请检查并告诉我是否我做错了。 谢谢..
答案 0 :(得分:1)
目前还不是很清楚你究竟在哪里调用这个AJAX请求但是我怀疑它在某个锚点的.click
事件或.submit
按钮内并且你没有取消默认动作通过从处理程序返回false来处理此按钮。因此,当单击链接时,您将获得第一个使用AJAX POST的请求,并在执行链接的默认操作后立即执行。
因此,例如,如果您订阅了某种形式的.submit
事件,请尝试通过返回false来取消默认操作:
$(function() {
$('#someForm').submit(function() {
$.post('/ImportCSV/Update', { ImportData: str, ImportHeader: header }, function (result) {
var CompName = result.CompanyName;
});
return false; // <-- that's the important part
});
});