我正在尝试使用角度js为azure ML模型构建UI。我设计了一个HTML页面,其中使用ng-model捕获用户输入现在我们面临的问题是,由于azure希望以下面提到的格式在POST请求中发送数据,因此会收到400 Bad request error。当我在Post Request中测试此样本值时,我收到200条成功消息。我应该如何在POST请求中发送值的用户输入。感谢任何帮助。
Azure预期的Request body样本:
{
"Inputs": {
"input1": {
"ColumnNames": [
"col1",
"col2",
"col3"
],
"Values": [
[
"value1",
"value2",
"value3"
]
]
}
},
"GlobalParameters": {}
}
我的测试javascript是
$http ({
method : 'POST',
url : 'url',
data : '{"Inputs": {"input1": {"ColumnNames": ["col1","col2","col3"],"Values": ["value1","value2","value3"]]}}}',
headers : {'Content-Type': 'application/json',
'Authorization' : 'Bearer apikey'
}
答案 0 :(得分:0)
当您生成数据有效负载时,似乎您在angularjs应用程序中有错误。
在样本中,
"Values": [
[
"value1",
"value2",
"value3"
]
]
value
是一个嵌套数组。
但是在您的前端代码段中:
{"Inputs": {"input1": {"ColumnNames": ["col1","col2","col3"],"Values": ["value1","value2","value3"]]}}}
这是一个invaild json对象。 (缺少[
behide "Values"
)。
我建议您可以在Request body示例显示时生成一个对象,并直接在$http
的post body有效负载中设置id对象,而不是手动编写json字符串。