设为首页收藏本站订阅更新

无忧脚本

 找回密码
 加入无忧

QQ登录

只需一步,快速开始

搜索
查看: 6323|回复: 2

[求助] 会thinkphp的弟兄进来瞧瞧。关于使用JSONP的问题

[复制链接]
发表于 2011-1-3 18:03:26 | 显示全部楼层 |阅读模式
最近在用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的情况下解决这个问题呢?麻烦各位了
发表于 2011-3-3 22:37:40 | 显示全部楼层
挺奇怪的,我用JSONP,也没出现过这这个问题。我也是用jq+thinphp的,thinkphp不做任何处理,什么请求就什么返回(当然是JSON格式的);主要的还是客户端的JSONP请求,JSONP请求没办法携带POST数据。URL是 http://xxx.xxx/?name=value&callback=?

callback=?表示使用 $.ajax 定义的 success:fn(){} 或者 或者 $.getJSON里面的callback返回参数。当然 type 要设置为 jsonp。
发表于 2014-6-11 16:00:40 | 显示全部楼层
深圳罗湖诚聘【PHP互联网软件开发工程师】快来啦~!

岗位职责

* 负责PHP项目的开发及管理工作,确保项目开发按时完成,并且达到公司的质量和需求标准;
* 负责开发任务的需求分析、技术方案设计、开发计划制定和文档管理;
* 按系统总体架构设计完成核心模块的设计与实现工作,并指导初级软件工程师进行模块开发;
* 支持和配合运营部门工作。

任职资格

* 2年以上PHP开发经验,有电子商务相关项目开发经历为佳;
* 对PHP语言有深入的了解,熟悉HTTP协议及W3C相关互联网规范;
* 熟悉LAMP架构,Nginx,LINUX系统环境开发,熟悉PHP的面向对象编程;
* 熟练HTML,Javascript,XML,CSS,Ajax等Web前端开发技术;
* 熟悉面向对象程序设计,熟悉至少一种MVC(yii/thinkphp/erp)框架;
* 熟悉MySQL,熟悉配置、维护、性能优化,熟悉各种条件查询,复合查询等的编写能力,并有良好的数据设计能力;
* 工作认真负责,有良好的组织能力和沟通能力及良好的团队合作精神,有良好的程序构架设计以及编程习惯。


我们有着优秀的项目,优秀的团队,重质量不重数量,现在就等优秀的你来加入我们,你是我们要找的人吗?
更多详细的情况欢迎前来面试时多多了解~!



在好伴时尚,您可以享受到的:

交通便利,五天八小时工作制,五险一金,每年14月薪水,年终红包,
良好的工作环境、工作氛围,公司人性化管理,境内外公费旅游,
业内绝对有竞争力的薪资待遇,每年四次调薪机会、广阔的发展空间等.

请发送简历至邮箱:hr@fashionsfriend.com
联系电话:0755-36513701
公司名称:深圳好伴时尚电子商务有限公司
公司地址:深圳罗湖区宝安南路2014号振业大厦A座30EF
您需要登录后才可以回帖 登录 | 加入无忧

本版积分规则

小黑屋|手机版|Archiver|无忧脚本 ( 苏ICP备05080427号 )|值班电话:027-62300445   鄂公网安备 42011102000433号

GMT+8, 2017-11-20 01:46 , Processed in 0.098874 second(s), 8 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表