首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript无法识别oracle rowid生成的保留字符

问Javascript无法识别oracle rowid生成的保留字符
EN

Stack Overflow用户
提问于 2013-11-26 08:28:03
回答 2查看 130关注 0票数 0

我使用oracle rowid作为引用来更新选定的行。它平稳地运行了几个月,直到最近出现了一些问题脚本,如下所示。

代码语言:javascript
复制
update(rowid, value){
$.ajax({
   url: action.php,
   dataType: "json",
   data: {
   value : value,
   ROWID : rowid
   },
  success: function(data){
  //update whatever
    }
   });
}

在action.php中只是一个db表的更新脚本

代码语言:javascript
复制
update table set column = '".$_get['value']."' where rowid = '".$_get['ROWID']."'

当输入到脚本AAAay1AAEAABw6jAA/ Javascript中的这个rowid值不能接受由oracle rowid生成的/或+字符时,问题就开始了。

代码语言:javascript
复制
Webpage error details

User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET CLR 1.1.4322; InfoPath.2; .NET4.0C; .NET4.0E)
Timestamp: Tue, 26 Nov 2013 00:13:48 UTC


Message: Syntax error, unrecognized expression: #AAAay1AAEAABw6jAA/
Line: 4680
Char: 2
Code: 0
URI: http://192.168.2.2/project/include/js/jquery-1.8.3.js

无法更改oracle rowid,因为我无法控制rowid值。我不可能做替换字符串的值,以便javascript读取字符ie。从\到\,如果我替换它,rowid值将变成AAAay1AAEAABw6jAA//,这也不起作用。

如何从javascript保留字符中转义?

EN

回答 2

Stack Overflow用户

发布于 2013-11-26 13:38:55

使用encodeURIComponent和decodeURIComponent怎么样?

代码语言:javascript
复制
var x = "#AAAay1AAEAABw6jAA/";            
var txt=encodeURIComponent(x)
票数 0
EN

Stack Overflow用户

发布于 2013-11-27 05:49:24

代码语言:javascript
复制
   data: {
   value : value, // replace "value :" with "value:"
   ROWID : rowid  // replace "ROWID :" with "ROWID:"
   },

由于冒号前面的空格,它将冒号左侧的"value“和"ROWID”解释为变量,而不是符号。只要删除冒号前面的空格即可。

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

https://stackoverflow.com/questions/20206299

复制
相关文章

相似问题

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