最近在用thinkphp做个小东西做到ajax功能部分的时候出现问题了。我现在已经通过think的配置文件将url改成下面的格式:http://www.stock.com/Ajax/getArticleType/但是在发送ajax请求的时候有一些问题,我用的是jquery比如,我这样发送请求:
http://www.stock.com/ajax/getArticleType?pid=0
因为后面的参数是jquery组织的,没办法更改为符合规则的xxx/xxx/xxxx/xx这样的格式,因为用到jsonp跨域也需要jquery生成一个随机名称的回掉函数
发出的完整URL是:
http://www.stock.com/ajax/getArticleType/?pid=0但是得到的结果很奇怪,thinkphp先是把这些不符合当前url规则的参数转为xxx/xxx/xxx/xxx这样的格式。好象有一次转发。
在这种情况下,我肯定就得不到想要的数据了悲剧,在firebug下看到的如下:GET http://www.stock.com/ajax/getArticleType/?pid=0
(这次返回错误: 加载源代码失败: http://www.stock.com/ajax/getArticleType?pid=0)然后紧跟这又出现一个莫名奇妙的请求,应该是thinkphp转发后的:
http://www.stock.com/ajax/getArticleType/pid/0/
但是这次返回的数据也有问题,居然是2次的结果:
({"state":1,"msg":[{"id":"1","name":"\u6d4b\u8bd5\u5206\u7c7b","overview":"111","browse_level":"0","message_level":"0","parent_id":"0"},{"id":"2","name":"\u6d4b\u8bd5\u7c7b2","overview":"222","browse_level":"0","message_level":"0","parent_id":"0"}]}); ({"state":1,"msg":[{"id":"1","name":"\u6d4b\u8bd5\u5206\u7c7b","overview":"111","browse_level":"0","message_level":"0","parent_id":"0"},{"id":"2","name":"\u6d4b\u8bd5\u7c7b2","overview":"222","browse_level":"0","message_level":"0","parent_id":"0"}]}); 有什么办法在不改变传过去的url的情况下解决这个问题呢?麻烦各位了