我试图在让这些数据更进一步之前,用数据库中的内容交叉检查一些值。
我有一张表格,并以此格式发布
pid, Name, size, category and qty.
我已经对qty
进行了验证。
在我发布的那些数据中,我使用这些数据来查找database
中的价格。我没有发布价格。
因为我使用这些发布数据来查找某人可能想要用它们搞砸的价格,例如将类别或大小值更改为任何内容。如果他们这样做,它仍然会被发布,页面将呈现,它看起来像
Name: qty: unit price: total item price:
size:
虽然这些表名显示NOTHING
正在显示,这意味着该页面只是没有渲染。
我知道你们中的一些人可能会想“如果这个人弄乱了价值观,这是他们的错”,我完全赞同,但我仍然希望阻止页面呈现
如果发布的所有内容与具有该产品ID(Pid
)的任何项目无关。
如何在其他页面中呈现之前使用ajax来验证它们?
我已经有一个看起来像
的ajax$(document).ready(function(){
$('#selected').hide();
$('#button').click(function(){
var pid = $('#pid').val();
var size = $('#size').val();
var qty = $('#Qty').val();
var price = '\u00A3' + parseInt($('#pricetag').text().replace(/^\D/, ''), 10) * qty;
if (!/^[1-9]\d?$/.test(Qty)){
alert('Quantity should not be below 1 or null');
return false; // don't continue
}
else {
$('#sprice').text(price);
$('#ssize').text(size);
$('#selected').slideDown();
}
$.ajax({
url: 'cart.php',
type: 'POST',
data: { pid:pid,
size:size,
Qty:Qty,
Category:Category },
success: function(data)
{
}
});
});
});
cart.php
是我将这些值发布到的地方。
我该怎么办呢?
答案 0 :(得分:1)
您想要求服务器查看数据是否有效。除了表单数据之外,我还会发一个标志告诉PHP这是AJAX验证,因此它可以从正常的表单提交中告诉AJAX帖子。
在PHP中,确定数据有效性后,它只能返回true或false。然后你的Javascript可以确定从那一点开始做什么。
但是,我认为还有其他方法可以解决这个问题。也许您不应该让用户修改这些字段,或者您可以发布表单,如果用户提交了无效数据,则再次呈现表单。另一种方法是限制用户可以做的选择,因此他们的输入始终有效。