Javascript替换等号
我收到的回复如下
var val = {"Type"=>"D","Number"=>33"}
从上面我尝试改变这样
var MyArray = {"Type": "D", "Number": "33"}; for(key in MyArray) { alert("key " + key + " has value " + MyArray[key]); }
我尝试更换,更换除了那些不工作的所有。 有什么建议?
从评论中粘贴的服务器端代码……
new_transfer_header = @params['my_extra_param'] p new_transfer_header,'------------ ew_transfer_header----------,new_transfer_header.class WebView.execute_js("replaceDeliveryWithScanUnit('#{new_transfer_header}')") puts result as "{\"Type\"=>\"D\", \"Number\"=>\"33\"}
var val = {"Type"=>"D","Number"=>33"}
是无效的JavaScript – 由于解析失败,无法在同一个脚本/脚本块中修复它。
可能你需要消除在服务器上为这块脚本做的somone所做的额外HTML编码。
如果是某些AJAX通话收到的文字,你应该能够取代"
和具有相应字符的类似值,而不是使用JSON.parse进行解析。
你可以在我认为的结果上使用string.replace和cal eval,但是从服务器获取有效的json会更好吗?