San*_*ram 40 http params angularjs
假设我有两个输入框,其对应的ng-model为fname和lname.如果我将http请求称为:
$http({method:'GET', url:'/search', params:{fname: fname, lname: lname}})
Run Code Online (Sandbox Code Playgroud)
它会调用网址:
/search?fname=fname&lname=lname
Run Code Online (Sandbox Code Playgroud)
我在后端(python)得到的错误是:
cannot concatenate str and nontype objects.
Run Code Online (Sandbox Code Playgroud)
这些参数不是作为字符串发送的吗?如果没有,如何解决这个问题?
sle*_*anc 73
这是你如何做到的:
$http.get("/url/to/resource/", {params:{"param1": val1, "param2": val2}})
.then(function (response) { /* */ })...
Run Code Online (Sandbox Code Playgroud)
Maxim Shoustin的答案不起作用({method:'GET', url:'/search', jsonData}
不是一个有效的JavaScript文字)和JeyTheva的答案虽然简单,但是很危险,因为它允许XSS(连接它们时不会转义不安全的值).
Max*_*tin 15
将URL构建'/search'
为字符串.喜欢
"/search?fname="+fname"+"&lname="+lname
Run Code Online (Sandbox Code Playgroud)
其实我没用过
`$http({method:'GET', url:'/search', params:{fname: fname, lname: lname}})`
Run Code Online (Sandbox Code Playgroud)
但我确信"params"应该是JSON.stringify
这样的POST
var jsonData = JSON.stringify(
{
fname: fname,
lname: lname
}
);
Run Code Online (Sandbox Code Playgroud)
后:
$http({
method:'GET',
url:'/search',
params: jsonData
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
114882 次 |
最近记录: |