Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
azure函数应用程序javascript无法读取Post请求';身体_Javascript_Azure_Azure Functions - Fatal编程技术网

azure函数应用程序javascript无法读取Post请求';身体

azure函数应用程序javascript无法读取Post请求';身体,javascript,azure,azure-functions,Javascript,Azure,Azure Functions,我正在使用Azure Function App部署此示例代码: 函数\扩展\版本=测试版 网站\节点\默认\版本=6.5.0 index.js: module.exports = function (context, req) { context.log('JavaScript HTTP trigger function processed a request.'); if (req.query.name || (req.body && req.body.name)) {

我正在使用Azure Function App部署此示例代码:

函数\扩展\版本=测试版

网站\节点\默认\版本=6.5.0

index.js:

module.exports = function (context, req) {
context.log('JavaScript HTTP trigger function processed a request.');

if (req.query.name || (req.body && req.body.name)) {
    context.res = {
        // status: 200, /* Defaults to 200 */
        body: "Hello " + (req.query.name || req.body.name)
    };
}
else {
    context.res = {
        status: 400,
        body: "Please pass a name on the query string or in the request body"
    };
}
context.done(); };
function.json:

 {"disabled": false, "bindings": [
{
  "authLevel": "anonymous",
  "type": "httpTrigger",
  "direction": "in",
  "name": "req"
},
{
  "type": "http",
  "direction": "out",
  "name": "res"
}]}
在当地的发展中,一切都很好

一旦部署,请求帖子的主体就“未定义”

调用函数的简单请求: -内容类型:application/json

{
"name":"John"
} 
日志:


帮助….

在我这边重现错误

我们已经做了一些测试来检测原因

  • 在windows应用程序服务计划中,工作正常
  • 在linux中,C#(csx)HttpTrigger工作
  • 查找节点版本为8.9.0,尽管应用程序设置中的默认值为6.5.0。使用8.9.0在widows版本中进行测试,同样有效
因此,对于linux应用程序服务计划(预览)中的js函数,在我看来,请求主体要么丢失,要么解析失败。这似乎是linux版本的语言支持问题,因为整个部署都是一个模板,没有关于json数据不支持作为请求体的提示

更新


这个问题似乎已解决,请在linux的运行时2.0.1.0(beta版)上测试。

您使用的是V1或V2函数,您运行的是Windows或linux版本吗?如果您使用的是V2,您的
网站节点默认版本应用程序设置是什么?是的,我使用的是V2,网站节点默认版本=6.5.0。(Linux版本)
{ method: 'POST',
  url: '/api/MyHttpTrigger',
  originalUrl: '/api/MyHttpTrigger',
  headers: 
   { connection: 'close',
     'transfer-encoding': 'chunked',
     accept: 'application/json, text/plain, */*',
     authorization: 'Bearer------',
     expect: '100-continue',
     host: 'dev-we-function-test-api.azurewebsites.net',
     'max-forwards': '10',
     'user-agent': 'axios/0.16.2',
     'x-client-ip': '52.143.137.149',
     'x-client-port': '16079',
     'request-context': 'appId=cid-v1:5443f5a3-02cd-43d3-90d6-1942e07580a1,roleName=Web',
     'request-id': '|rtHs1.ca2e9979_1310.',
     'x-ms-request-id': 'rtHs1',
     'x-ms-request-root-id': '|rtHs1.ca2e9979_1310.',
     'x-waws-unencoded-url': '/api/MyHttpTrigger?code=NhpwrmvOjo809ryOvkzbbBa9B1/Hqj18FoVw9faqq8eKSaoDk4oyeg==',
     'client-ip': '52.143.137.149:16079',
     'is-service-tunneled': '0',
     'x-arr-log-id': 'c2b5dbe9-4193-4b81-821a-8ad2054a1203',
     'disguised-host': 'dev-we-function-test-api.azurewebsites.net',
     'x-site-deployment-id': 'dev-we-function-test-api',
     'was-default-hostname': 'dev-we-function-test-api.azurewebsites.net',
     'x-original-url': '/api/MyHttpTrigger?code=NhpwrmvOjo809ryOvkzbbBa9B1/Hqj18FoVw9faqq8eKSaoDk4oyeg==',
     'x-forwarded-for': '52.143.137.149:16079',
     'x-arr-ssl': '2048|256|C=US, S=Washington, L=Redmond, O=Microsoft Corporation, OU=Microsoft IT, CN=Microsoft IT TLS CA 4|CN=*.azurewebsites.net',
     'x-forwarded-proto': 'https' },
  query: 
   { code: 'NhpwrmvOjo809ryOvkzbbBa9B1/Hqj18FoVw9faqq8eKSaoDk4oyeg==' },
  params: {},
  body: undefined }