我正在使用OData查询数据库。当“adapterName”仅包含文本时,以下代码行可以正常工作。

ds.query('/DataAdapters?$filter=Name eq \'' + adapterName + '\'', ifmgr_CreateAdapter_Step1, onGenericFailure, '');

如果“adapterName”包含单引号,它将失败。我尝试使用以下代码转义单引号:
adapterName = adapterName.replace(/\'/g, '\\\'');

尽管这可以正确转义用户定义的文本,但该功能仍然会失败。谁能告诉我查询中文本的正确格式是什么?

最佳答案

实际上%27不是解决方案。正确的转义方法是在字符串中放置两个单引号而不是一个。
在示例"o''clock"

10-07 17:05