php - 我有一个表,我用它通过 ajax 或 jquery 更新 mysql,适用于 firefox、opera、chrome 和 safari,但不适用于 IE8

标签 php jquery mysql ajax internet-explorer-8

首先,我对此很陌生,我肯定会错误地使用一些行话,但希望你能理解我的意思。 好的,我有一个 HTML 表格,其中包含一组数字,当您单击它们然后发送到数据库时,这些数字会递增。 我一直在使用这条线

$.get('character/statincrease/stat/'+statname);

或这一行

sendAjaxRequest('http://www.myfakeurl.com/character/statincrease/stat/'+statname);

为了将更新的变量发送到 php 处理程序,后者又更新 mysql 数据库。 任何一条线都可以与带有 chrome、firefox、safari 和 opera 的 mac 机器完美配合 以及带有 chrome 的 windows7 机器,但是当使用带有 IE8 的同一台 win7 机器时,数据库不会更新。对于最长的时间,我为 ajax 请求和我的变量尝试了很多不同的代码变体,但没有任何效果。一直以来,我都在想,也许 IE8 忽略了请求,或者以某种方式以服务器无法理解的方式解析变量,但是通过使用 fiddler,我能够看到 http 请求确实是使用 IE8 执行的。事实上,它在 IE8 和 chrome 中都得到了 200 响应,但是当使用 IE8 时,我能发现的唯一区别是当使用 chrome 时,有一个额外的客户端请求 header ,上面写着

Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3

Accept-Language 读取额外的字符

en-us,en;q=0.8

相对于 IE8

en-us

服务器的响应也不同 使用 chrome 时的内容长度为 4568,内容类型为

text/html;charset=utf-8

它在 TextView 中看起来像一个不错的 html 页面

使用IE8时的响应只有263长,类型是

text/html

这是一个小的 javascript,给出了 top.location.href=

我的 mysql 数据库设置为 utf-8

所以我认为我的 php 处理程序实际上没有设置为从 javascript 中获取一些 href,但可以很好地处理 html 从而更新数据库?

所以这可能是导致请求不更新 IE8 中的数据库的原因吗? IE8 中 http 请求的默认字符集是什么? 我可以通过在请求中插入 header 以某种方式让 IE8 以 utf-8 发送它来更改我的代码吗?如果是这样,我将如何修改 xmlhttprequest 来这样做? 我完全在这里吠叫错误的树吗?

最佳答案

一些 friend 帮助我解决了这个问题,不幸的是,这个解决方案有点难以解释,但它与我的页面在需要登录的页面中使用 iframed 有关,即使该功能不依赖于 cookie与 IE 看​​到作为第三方发送的 cookie 导致 IE 使上层站点的登录 session 无效

关于php - 我有一个表,我用它通过 ajax 或 jquery 更新 mysql,适用于 firefox、opera、chrome 和 safari,但不适用于 IE8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5920060/

相关文章:

c# - 通过 JavaScript 和页面方法设置 HTML 是否有限制?

java - Spring Boot : java. sql.SQLException:用户访问被拒绝

mysql - 包含 SQL 的正确方法

java - centos7部署java-web项目时Tomcat无法连接mariadb

javascript - 如何添加 arr include many "src"of images into a source of image tag

jquery - nyromodal ajax 表单/过滤器文档或完整示例?

php - 如何从 swift 4 向 GET 请求 (PHP) 发出请求

java - 如何同时为java开发人员、c/c++开发人员、php开发人员安装eclipse?

javascript - Yii2 在另一个文件中调用 javascript 函数

php - Pthreads PHP : execute Foreach Loop in Parallel