我正在使用AJAX,jquery和php的哈希来根据选择的选项动态返回值。当我使用id运行时,我有这个工作,但现在我使用列名它已停止工作。从整数到字符串时,有些事情已经破裂,我无法弄清楚究竟发生了什么。
$.ajax({
url: '?ajax_step=1',
type: "POST",
data: frm.serialize(),
dataType: 'json',
success: function (data) {
if (data.success == 1) {
for (var i = 1; i <= 5; i++) {
var frmGroup = frm.find('.frg-box'+i);
if (data.hash[i] !== frmGroup.find('input').val()) {
frmGroup.find('select').html(data.box[i]?data.box[i]:'');
frmGroup.find('input').val(data.hash[i]);
show_hide_select(frmGroup.find('select'));
}
}
} else {
alert(data.status);
}
}
});
以上是我用来发布的AJAX。我几乎是肯定的,这导致了这个问题。
下面是用于制作哈希的PHP Im。虽然我不相信这是一个问题,但它仍然可能有所帮助。
$box1 = htmlspecialchars($_POST['box1']);
$box2 = htmlspecialchars($_POST['box2']);
这里我从函数
返回$ajax['box'][1] = function1();
$ajax['box'][2] = function2();
这是我生成哈希以回馈AJAX成功的表格
的地方$ajax['hash'][1] = md5($ajax['box'][1]);
$ajax['hash'][2] = md5($ajax['box'][2]);
以下是选择和散列的HTML
<?php
$field_name = 'box1';?>
<div class="form-group frg-<?php echo $field_name; ?> <?php echo $_ERROR[$field_name] ? ' has-error' : ''; ?>">
<select class="form-control box1" name="<?php echo $field_name; ?>" id="<?php echo $field_name; ?>"></select>
<?php echo $_ERROR[$field_name] ? '<span class="help-block">' . $_ERROR[$field_name] . '</span>' : ''; ?>
<input name="box1hash" class="box1hash" type="hidden"<?php echo ($_POST['box1hash'] ? $_POST['box1hash'] : ''); ?> />
</div>
<?php
$field_name = 'box2';?>
<div class="form-group frg-<?php echo $field_name; ?> <?php echo $_ERROR[$field_name] ? ' has-error' : ''; ?>">
<select class="form-control box2" name="<?php echo $field_name; ?>" id="<?php echo $field_name; ?>"></select>
<?php echo $_ERROR[$field_name] ? '<span class="help-block">' . $_ERROR[$field_name] . '</span>' : ''; ?>
<input name="box2hash" class="box2hash" type="hidden"<?php echo ($_POST['box2hash'] ? $_POST['box2hash'] : ''); ?> />
</div>