双引号导致因&被实体化导致ajax请求异常

2017-05-31 12:21 栏目:技术开发 查看(9377)

timg

现在开发网站至少都是MVC规范级别,比如比如我们帮红网开发Discuz某些模块,是基于Discuz的插件API进行,比如说直播插件,插件名为muquan_zhibo,习惯性的我们的入口可以设为muquan_zhibo.inc.php,然后各个子模块在module中,通过入口文件调用。为了规范我们可以在入口中规定子模块有且仅有包含index(插件首页)、list(列表页面)、view(直播内页)、post(发布及修改页面)、ajax(ajax异步处理模块)等,而访问不在规定范围内的模块名称会直接调用默认的模块(index)。

特别在移动端,很多操作都是异步的,也就是说,很多地方都需要请求到ajax模块。比如plugin.php?id=muquan_zhibo&mod=ajax&op=pay&inajax=1&tid=1,有个小伙伴说,有个请求发生异常。结果开发同学一看原来是请求路径错误,本来请求到ajax模块对应的子模块,却请求到了默认模块去了。

结果一看上面的请求路径变成了plugin.php?id=muquan_zhibo&mod=ajax&op=pay&inajax=1&tid=1,也就是说&变成&。于是乎mod就变成了一个无效值,因此也就变成了请求默认模块了。

原因就是在这个地方开发的同学一不小心用了双引号,导致这样的结果。实际上好起来很简单,只需要把赋值请求路径地方的双引号改成单引号即可,当然也可以通过转码的方式来解决。

与我们的项目经理联系
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流

转载请注明出处:双引号导致因&被实体化导致ajax请求异常 - 微构网络
分享: