引入头文件:

 #include "cocos-ext.h"

添加下载按钮:

     CCMenuItemImage *pCloseItem = CCMenuItemImage::create(
"exit.png",
"exit.png",
this,
menu_selector(HelloWorld::menuCloseCallback)); pCloseItem->setPosition(ccp(origin.x + visibleSize.width - pCloseItem->getContentSize().width/ ,
origin.y + pCloseItem->getContentSize().height/)); // create menu, it's an autorelease object
CCMenu* pMenu = CCMenu::create(pCloseItem, NULL);
pMenu->setPosition(CCPointZero);
this->addChild(pMenu, );

添加回调函数:

 void HelloWorld::menuCloseCallback(CCObject* pSender)
{
std::vector<std::string> headers;
headers.push_back("Content-Type: application/json; charset=utf-8");
// post data
const char* postData = "id=1&name=oka";
unsigned int postDataLen = strlen(postData); CCHttpRequest* request = new CCHttpRequest();
request->setUrl("http://127.0.0.1/test.php");
request->setRequestType(CCHttpRequest::kHttpPost);
request->setResponseCallback(this, httpresponse_selector(HelloWorld::onHttpRequestCompleted));
request->setRequestData(postData, postDataLen);
request->setTag("GET test");
request->setHeaders(headers);
CCHttpClient::getInstance()->setTimeoutForConnect();
CCHttpClient::getInstance()->send(request);
request->release(); }

按钮的回调函数里向服务器发起http请求了,request->setResponseCallback(this, httpresponse_selector(HelloWorld::onHttpRequestCompleted))一行代码,向请求结束时添加了onHttpRequestCompleted回调函数

处理网络请求的回调函数:

 void HelloWorld::onHttpRequestCompleted(cocos2d::CCNode *sender ,void *data)
{
CCHttpResponse* response = (CCHttpResponse*)data;
if(!response)
{
return;
} if( != strlen(response->getHttpRequest()->getTag()))
{
CCLog("%s completed", response->getHttpRequest()->getTag());
} int statusCode = response->getResponseCode();
CCLog("Status Code: %d", statusCode);
if(!response->isSucceed())
{
CCLog("response failed, error buffer: %s", response->getErrorBuffer());
return;
} std::vector<char> *buffer = response->getResponseData();
std::string temp(buffer->begin(), buffer->end());
CCString* responseData = CCString::create(temp);
CCLog("%s", responseData->getCString());
}

执行后Log输出框中就可以看到请求结果了。

记得把request->setUrl("http://127.0.0.1/test.php");替换成测试的URL地址。

最新文章

  1. Visual Studio中UnitTesting单元测试模板代码生成
  2. ListView优化为何ViewHolder用static类(转载)
  3. fidder 使用教程
  4. springMVC操作mongoDB增删改查
  5. golang学习之指针、内存分配
  6. 指针之 *((volatile unsigned long *)(x))解析
  7. 【Cocos2d TestCpp实例模仿一】-- ActionsTest
  8. PAT 天梯赛 L1-009 N个数求和
  9. mySQL简单操作(三)
  10. 调用接口,发送https请求
  11. HTML查漏补缺 【未完】
  12. Javascript - ExtJs - 整合百度文章编辑器
  13. CSS---伪类选择器
  14. LEO原创-FMX之你不知道的ARC
  15. easyUI tree 自定义图标
  16. mysql中查看一个字段中,有几个逗号
  17. [转]避免头文件重复包含以及#ifndef 与 #program once 的区别
  18. 七夕情人节表白-纯JS实现3D心形+图片旋转
  19. Google工作原理
  20. LoadRunner 使用介绍

热门文章

  1. sublime中设置view_in_browser
  2. 11. 变量提升 &amp;&amp; 执行上下文
  3. SprimgMVC学习笔记(七)—— 上传图片
  4. C语言中变量的存储类型
  5. 创建本地Git并提交到码云
  6. 【ACM】蛇形填数 - 逻辑怪
  7. Dev Express Report 学习总结(六)Dev Express Reports自定义Summary
  8. MongoDB系列—— Window 搭建Mongodb 集群
  9. Selenium+Python+Webdriver:保存截图到指定文件夹
  10. VS 快速插入无参构造器