如何使用 Phonegap 插件(适用于 Android)向 API 发出简单的 json 发布请求?
Posted
技术标签:
【中文标题】如何使用 Phonegap 插件(适用于 Android)向 API 发出简单的 json 发布请求?【英文标题】:How to use Phonegap Plugins(For Android) to make simple json post request to API? 【发布时间】:2017-01-26 08:50:17 【问题描述】:我是android编程的初学者,所以请与我裸露。我想使用以下Phonegap插件(cordova-HTTP)向远程api(https://api.somewebsite.com/androidMobile.aspx)发出发布请求并将其传递给name=getJsonData并输入=2f) 并将响应返回给 javascript。(从 JavaScript 调用插件)
如果专家向我展示如何使用上述插件发出发布请求并在 JavaScript 中接收 json 响应以进行进一步处理,我将不胜感激。我以前从未使用过 Phonegap 插件,因此我需要一些分步指南。谢谢提前。
注意:我已经知道如何使用 Ajax 发出 post 请求,但必须使用本机代码发出 post 请求。 我在互联网上做了很多研究,大多数开发人员建议使用 Phonegap 插件而不是学习如何制作 JavaScript 和 Java 相互交流。但是我找不到任何初学者一步一步的指南来指导如何使用简单的 Phonegap 插件向服务器发送请求!
需要帮助的 Phonegap 插件:
https://github.com/wymsee/cordova-HTTP
发布请求信息:
user-agent:Mozilla/5.0 (Linux; Android 4.0.4; en-gb; SM-T330 Build/IMM76D) AppleWebKit/533.1 (Khtml, like Gecko) Version/4.0 Safari/533.1
API 网址:https://api.somewebsite.com/androidMobile.aspx
将数据发布到 API :name=getJsonData,type=2f
API 响应示例:
"resp": [
"Season": "2",
"Description": "New Models are all green"
]
Phonegap javascript:
function onButtonClick(id)
var strQuery = "";
strQuery = "?name=getJsonData&type=2";
POSTCall("getJsonDataCallBack", "OnError", strQuery);
function POSTCall(onSuccess, onError, strQuery)
//here i want to call phonegap plugin and pass it post data to make server post request
function getJsonDataCallBack(data)
//here i want to get the json data back from phonegap plugin and parse it
【问题讨论】:
【参考方案1】:var data = name: "getJsonData", type: "2f" ;
var url = "https://api.somewebsite.com/androidMobile.aspx";
cordovaHTTP.post(url, data, ,
function(response)
// success
console.log("HTTP response: "+ response.status);
console.log(response.data);
// parse JSON response
var jsonResponseObj = JSON.parse(response.data);
, function(response)
// error
console.log("HTTP response: "+ response.status);
);
【讨论】:
感谢您的帖子。你能告诉我如何将cordova插件添加到我的项目中吗?有什么教程可以看或读吗?我已经安装了 phonegap 桌面应用程序,但是如何将 cordova 导入我的项目文件? 我安装了插件(phonegap插件添加cordova-plugin-http)但是当我通过单击按钮调用你的函数时,我没有从api得到任何回复,而是我得到这个错误:错误: 找不到 :: CordovaHttpPlugin ::post 的 exec 代理 请参阅以下教程,了解如何创建您的第一个 Cordova 应用程序:cordova.apache.org/docs/en/latest/guide/cli/index.html 添加插件后,调用cordova prepare
感谢您的回复。我遵循了该教程,但是为了测试和调试,我应该首先构建项目 apk(我在 phonegap 桌面应用程序上测试 index.html,因为我通常会上传到云为我创建 apk))?我应该在测试之前先安装 jdk插件?以上是关于如何使用 Phonegap 插件(适用于 Android)向 API 发出简单的 json 发布请求?的主要内容,如果未能解决你的问题,请参考以下文章
是否有使用适用于 iOS 的蓝牙经典的 Cordova/PhoneGap 插件?
适用于 iOS 的 Phonegap/Cordova 日历插件无响应