这是我的第一个后续问题
post
.我已经成功地将我的AngularJS网站部署到了Azure,并且我可以使用RESTAPI GET方法与Azure Search进行交互。现在我用一种Put方法来面对这个问题。它抱怨我的飞行前请求没有通过控制检查。通过检查网络流量,我可以看到浏览器正在对Azure搜索执行选项请求方法,并且没有找到响应代码404。
我注意到有人面对过这个
problem
解决方法是使用标准定价层。我已经达到了标准,问题仍然存在。我的角搜索CORS已经设置为“*”。我还尝试通过添加headers选项来修改客户端angularjs$http代码,但仍然不能正常工作。
任何想法都会受到赞赏。
更新2以回答@bruce johnston,我想我不能粘贴太多的代码作为注释块,所以我将把它们放在这里。
这是一个$http.get,可以操作:
$http.get("https://mywebsibe/indexes/contact1/docs?api-version=2016-09-01",
{
headers: {
"Accept": "application/json",
"api-key": "xxx"
},
params: {
//api-version: '2016-09-01',
queryType: "full",
search: searchString
}
}
)
这是一个面临CORS问题的看跌期权:
$http.put("https://mywebsite/indexes/contact1/docs?api-version=2017-11-11",
{
headers: {
"Access-Control-Allow-Credentials": "true",
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Methods": "POST, GET, OPTIONS, DELETE",
"Access-Control-Allow-Headers": "Origin, X-Requested-With, Content-Type, Accept",
"Accept": "application/json",
"api-key": "xxx"
},
data: {
"value": [
{
"@search.action": "upload",
"ContactId": "id1",
"FirstName": "New",
"LastName": "Guy",
"Dob": "1990-01-31",
"Gender": "M",
"Email": "ng@somewhere.org"
}
]
}