IE10-JQuery ajax html未加载数据
我已经通过查看以下帖子()和其他一些网站做了一些研究,但不幸的是,它没有解决我的问题,这就是为什么我需要您的帮助;) 下面您可以看到我的JQuery ajax脚本,我的问题是我可以使用ajax并将值返回到errorDivStyle,但我无法加载$(“#mainView”).html(数据);数据从PHP脚本及其HTML返回 请注意,它在Chrome、FF和IE9中工作得非常好,但在IE10中却不行。我做错什么了吗IE10-JQuery ajax html未加载数据,jquery,ajax,internet-explorer-10,Jquery,Ajax,Internet Explorer 10,我已经通过查看以下帖子()和其他一些网站做了一些研究,但不幸的是,它没有解决我的问题,这就是为什么我需要您的帮助;) 下面您可以看到我的JQuery ajax脚本,我的问题是我可以使用ajax并将值返回到errorDivStyle,但我无法加载$(“#mainView”).html(数据);数据从PHP脚本及其HTML返回 请注意,它在Chrome、FF和IE9中工作得非常好,但在IE10中却不行。我做错什么了吗 <script type="text/javascript">
<script type="text/javascript">
$(document).ready(function () {
var category = $("#category").val();
$("#category").change(function(){
$.ajax({
type: "POST",
url: "test.php",
data: $(this).serialize(),
cache: false,
success: function(data) {
if(data)
{
$("#mainView").html(data);
$("#errorDivStyle").html("<font color='#000000'>" + category + " category have been loaded</font>").show();
}
}
});
return false;
});
});
</script>
$(文档).ready(函数(){
var category=$(“#category”).val();
$(“#类别”)。更改(函数(){
$.ajax({
类型:“POST”,
url:“test.php”,
数据:$(this).serialize(),
cache:false,
成功:功能(数据){
如果(数据)
{
$(“#主视图”).html(数据);
$(“#errorDivStyle”).html(“+category+”类别已加载”).show();
}
}
});
返回false;
});
});
我看你的代码没有明显的错误
如果您使用的是较新版本的Jquery,那么我建议更改:
$("#category").change(function(){
进入
当然之后
cache: false,
加
另外,我强烈建议使用console.log()
您是否尝试添加
数据类型:“html”
作为一个标记?顺便说一句
标记已被弃用。您是否尝试在IE中点击F12以打开开发人员控制台并查看“控制台”选项卡中的错误?也许您使用的是不支持IE10的旧版本jQuery。请确保您没有在任何地方使用console.log()
,因为如果您没有打开开发人员工具,它有时会抛出错误。首先,我上面列出的jQuery脚本是正确的,工作正常。我注意到的问题是IE10和这部分“data:$(this).serialize()”出于某种原因,IE10在传递给PHP文件B-(例如,“KEBABS”是6字符串长的,但我的PHP脚本是8字符串长的“KEBABS”。你能相信吗。现在我需要一些东西来识别浏览器,如果它是IE10MonkeyZeus,则删除空白。我已经尝试过将其更改为“$”(“#category”)。在('change',function(){”上,注意我在控制台“SEC7115::visted and:link样式只能按颜色不同。某些样式未应用于:visted”不幸的是,我在控制台中看不到任何日志(奇怪)。我发现,如果我在浏览器模式下运行:IE10 Compat View,则更改可以正常工作,但在另一个模式下,则不会。我想知道“return false;”是否会对IE造成影响。我将使用一种可能的解决方案进行编辑。我还没有尝试过console.log()在IE10中,但我无法在Chrome中没有它。打开Chrome,点击F12,进入控制台选项卡,现在刷新您的页面。MonkeyZeus Chrome&FF控制台对我来说也很好,我可以看到您的登录;)这是IE10,f…全部完成:(让我试试您的最新修复;)再想一想,您是否试图在更改文本字段时传入所有表单数据?如果是这样,您应该像这样序列化整个表单“data:$(this).parents('form').serialize(),”
cache: false,
dataType: 'html',
if(data)
{
//check if expected data is correct
console.log(data);
//make sure you can target #mainview properly
//should output the amount of #mainviews on your screen
console.log($("#mainView").length);
$("#mainView").html(data);
$("#errorDivStyle").html("<font color='#000000'>" + category + " category have been loaded</font>").show();
}
$("#category").on('change', function(){
e.preventDefault();
$.ajax({
type: "POST",
url: "test.php",
data: $(this).serialize(),
cache: false,
dataType: 'html',
success: function(data) {
if(data)
{
$("#mainView").html(data);
$("#errorDivStyle").html("<font color='#000000'>" + category + " category have been loaded</font>").show();
}
}
});
});
$("#category").on('change', function(){
$.ajax({
url: "test.php?q="+$(this).val(),
cache: false,
dataType: 'html',
success: function(data) {
if(data)
{
$("#mainView").html(data);
$("#errorDivStyle").html("<font color='#000000'>" + category + " category have been loaded</font>").show();
}
}
});
});
/**
* Returns a recursively TRIMMED variable
*
* @access public
* @param mixed
* @return mixed
*/
if ( ! function_exists('trim_r'))
{
function trim_r($var)
{
//In here you can add more code to handle objects properly but I did not because I am not using them with this function
//if (is_array($var) || is_object($var)){some code}
if (is_array($var))
{
return array_map('trim_r', $var);
}
else
{
return trim($var);
}
}
}
// Usage examples
$_POST = trim_r($_POST);
$_GET = trim_r($_GET);
$_REQUEST = trim_r($_REQUEST);
$custom_array = trim_r($custom_array);