searchCompanyExecutives: function(criteria, callback) {
var params = $j.extend({
type: "GET",
dara: criteria,
url: "/wa/rs/company_executives?random=" + Math.floor(Math.random() * (new Date()).getTime() + 1),
dataType: "json"
}, callback);
$j.ajax(params);
},
并且在上面的代码标准中就像一个JSON { ' companyId':' 1&#39 ;, ' beginNum':' 42' }
在后端,我期待数据作为"查询字符串参数"我们在2年前编写了这段代码,当时工作正常。 现在在新版本的IE和Firefox中,我们无法在后端获取这些查询参数
答案 0 :(得分:0)
问题在于prototype.js toQueryParams函数,该函数对url哈希值进行操作。在我们的例子中,我们从浏览器中获取哈希值,并使用此toQueryParams方法将其转换为对象。在firefox和IE最新版本中哈希值是 companyId%3D2534%26beginNum%3D1%26endNum%3D6 ,但在其他浏览器中它的出现就像 companyId = 2534& beginNum = 1& endNum = 6 所以在调用方法toQueryParams之前,不能解码它的例子。所以这导致了这个问题。最后,我使用decodeURIComponent以解码格式转换此哈希,最后使用它。最后的结论是,如果你采用哈希值并尝试转换为toQueryParams,那么这会导致最新浏览器出现问题。
感谢大家的帮助。