首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XHR更新失败,出现包含"#“的字符串,其中form post成功

XHR更新失败,出现包含"#“的字符串,其中form post成功
EN

Stack Overflow用户
提问于 2019-10-30 09:07:50
回答 1查看 28关注 0票数 0

我将从标准表单posts (到PHP PDO)转移到异步XHR posts来更新mysql数据库(同样是PHP PDO),使用已准备好的语句调用mysql存储过程。

使用HTMLSpecialCharacters / UTF-8等来清理输入(包括XHR版本和form post版本)。同时在我的PDO连接字符串中设置charset=utf8。

问题是,如果我向XHR版本传递一个包含"#“的字符串,更新将失败。返回的错误SQLSTATE23000表明完全独立的列不能为null (根据表约束)。

有几个字段正在输入,无论哪个字段包含"#",都会违反相同的null约束。

请注意,设置为null的字段是使用$stmt->bindvalue设置的最后一个字段。

此外,我在绑定值中使用了$_GET[],而不是$_POST,这是一个类似问题中的问题。

我知道我可以替换write上的"#“并将它放回read (我已经在用换行符来做这件事了),但我怀疑我在这里遗漏了一些基本的东西(我对AJAX和PHP有点陌生)。

在标准表单post中没有"#“(或换行符)的问题。

TIA用于任何指针

EN

回答 1

Stack Overflow用户

发布于 2019-10-30 12:20:28

耶..。我想通了,或者说老实说,我放弃了,尝试了一种不同的方法。我没有使用application/x-www-form-urlencoded的content-type将值作为url的一部分发布,而是使用content-type = application/json将数据发布为json。

不仅问题消失了,而且我也不再需要寻找和替换换行符和#s。

json方法似乎是最符合逻辑的,也是最不痛苦的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58617440

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档