js变量'未定义'在IE中(值由ajax响应设置)
js variable 'undefined' in IE (value was set by ajax response)
我有一个表单,它将输入发布到php脚本(通过ajax)onChange,脚本通过将变量设置为true或false(基于一些评估)来响应。然后,当提交原始页面上的表单时,true/false变量被发送到另一个php脚本。
然而,在IE(9)中,当我提交表单时,我收到一个调试错误,说'eligible' is undefined
。
## PHP (data processor — php script 1)
if ( $disqualified ) echo '<script type="text/javascript">var eligible = false;</script>';
else echo '<script type="text/javascript">var eligible = true;</script>';
## JavaScript
$.ajax({
url: 'pageprocessor.php', // php script 2
type: "POST",
data: ({
key: '<?php echo $key; ?>',
group: '<?php echo $group; ?>',
eligibility: eligible,
// eligible is set by the response from PHP above
// before this is executed (I'm sure of the order).
current_page: page,
cumulative_count: count,
cumulative_total: total,
cumulative_progress: progress
}),
相关的注意事项是,当 (通过PeeHaa的评论使用eligible
被传递到php时,它的值注册为文本,而不是布尔值。有办法解决这个问题吗1
/0
而不是true
/false
)
解决方法:使用php的超全局$_SESSION变量将eligible
的值从一个脚本传输到另一个脚本。
我要做的是类似(未经测试)的事情:
HTML/PHP-
<?php
$eligible = 1;
if ($disqualified) {
$eligible = 0;
}
?>
<form action="pageprocessor.php" data-eligible="<?php echo $eligible; ?>">
<select name="something">
<option value=""></option>
<option value="option1">Option1</option>
</select>
</form>
Javascript
var form = $('form'); // you will need a better (more narrow) selector though
$.ajax({
url: form.attr('action'),
type: "POST",
data: ({
key: '<?php echo $key; ?>',
group: '<?php echo $group; ?>',
eligibility: form.data('eligible'), // you still have to verify this server side!
current_page: page,
cumulative_count: count,
cumulative_total: total,
cumulative_progress: progress
}),
相关文章:
- 从 Ajax 获取由 ZombieJS 的异步点击事件触发的 Http 错误
- 使用每个函数读取ajax值的问题
- 具有多个值的自动完成文本框,这些值由句号和Elements分隔
- 使用AJAX值的Fileupload不会在表单中传递其他字段
- 其中是在ReactJS中放置一个值的最佳位置,该值由传入的初始参数计算一次,然后再也不会更改
- 值由 1 添加,但函数仍在使用旧值.为什么
- 将 AJAX 值传递到 Laravel 控制器中
- 使用 ui-select 与 Angularjs 和 ajax 值
- 对三个文本字段求和,其值由 jqueryui 滑块控制
- AJAX 调用由 servlet 接收,但没有给出响应
- 如何在代码隐藏中访问控件的值,该值由 JavaScript 动态创建
- 如何使用AngularJS中的ng模型获取复选框值(由用户检查)
- 如何在angularjs中编辑值(由PHP生成)
- 使用数据库onchange中提供的ajax值进行自动计算
- ajax硬编码的ajax值(新手)
- js变量'未定义'在IE中(值由ajax响应设置)
- Ajax请求由外部页面和history.pushState一起处理
- 为什么ajax值返回与settimeout未定义?我怎么修理它
- 未返回Ajax值
- 铁路由插入值由用户在流星