本地主机/ CI-ABC / API / get_userid?用户名=优素福
这是在邮递员中工作的API并返回用户ID
但是我是初学者,所以我很困惑如何将angular http服务方法中的参数传递给codeigniter的API。没有参数的API工作正常,但我无法找到传递username参数的方法来获取它的id。
我搜索了一下,能够找到URLSearchParams()作为解决方案,但它不起作用,这就是我做的。
getUserid()
{
let myParams = new URLSearchParams();
myParams.append('username', 'yousuf');
console.log(myParams);
return this.http.get('http://localhost/ci-abc/api/get_userid', {params : myParams})
.map(res=>res.json());
}
和codeigniter中的API是
function get_userid_get()
{
$username = $this->get('username');
if (!$username) {
$this->response("No username specified", 400);
exit;
}
$result = $this->user_model->get_userid($username);
if ($result) {
$this->response($result, 200);
exit;
} else {
$this->response("Invalid username", 404);
exit;
}}
几个小时我尝试不同的方式,但没有运气,所以不好意思帮助
Mozilla Firefox在控制台中出现此错误。
错误{...} _body:“\”没有指定用户名\“”标题:对象{_headers:Map,_normalizedNames:Map} ok:false状态:400 statusText:“错误请求”类型:2 url:“http://localhost/ci-abc/api/get_userid”proto:Object {constructor:Response(),toString:Response.prototype.toString()}
HTTP GET
请求没有params
但query strings
。
http.get('http://localhost/ci-abc/api/get_userid?' + myParams.toString())
如果您尝试进行身份验证,建议使用POST
方法。
在你的angular.js
方面,
let myParams = { username: "username"};
http.post('http://localhost/ci-abc/api/get_userid', myParams)
在你的API方面,
$username = $this->input->post('username');