使用 Axios POST 到 ASP.Net WEB API 2 with VB.NET
Using Axios POST to ASP.Net WEB API 2 with VB.NET
我无法读取 VB.NET Web API 2 控制器中的 Axios json 数据。我喜欢
var headers = {
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*'
}
let url = 'https://.azurewebsites.net/api/SavePMIDdata/'
axios.post(url, {
params: {
pmids: PMIDList,
memberID: memberID
}
}, {
'headers': headers
})
.then(function (response) {
resultElement.innerHTML = generateSuccessHTMLOutput(response);
})
.catch(function (error) {
resultElement.innerHTML = generateErrorHTMLOutput(error);
});
}
我的 Web 中的控制器信息APIConfig 是:
config.Routes.MapHttpRoute(
name:="ActionApi",
routeTemplate:="api/{controller}/{action}"
)
我的控制器 class 是:
Public Function PostValue(<FromBody()> ByVal data As JToken) As String
我试过了:
Public Function PostValue(<FromBody()> ByVal data As string) As String
和
Public Function PostValue(<FromBody()> ByVal data As objJSON ) As String
和
Public Class objJSON
Public Property pmids As String
Public Property memberID As String
End Class
当我发送它时,我得到一个状态 200,如果我输入一个硬编码的 return 值,我会得到它,但如果我尝试读取正在发送的参数,我会得到一个空值。我认为我没有正确阅读它们。
如果我尝试做
Dim json As JObject = JObject.Parse(数据)
我回来了
"Value cannot be null.\r\nParameter name: s"
如果这是一个重复的问题,请发给我,因为我找不到它。我已经找了三天了。我遇到了一些接近的事情,但我无法让 VB 工作。我正在尝试将旧的 .asmx 代码转换为更新的结构。谢谢你的帮助。
经过几天的调整,我现在已经创建了有效的方法。我不是 100% 确定这是最佳做法,希望任何可以给我意见的人提供意见。
首先我改变了我的
axios.post(url, {
params: {
pmids: PMIDList,
memberID: memberID
}
}, {
'headers': headers
})
到
axios.post(url, {
pmids:PMIDList,
会员编号:会员编号
}, {
'headers': headers
})
我取出了参数:{}
接下来在我的控制器中我使用了:
Public Function PostValue(<FromBody()> ByVal value As objJSON) As String
Dim x = value.pmids.ToString
return (x)
End Function
它现在 returns 在 axios POST 中发送的 pmid 字符串。我很高兴,现在可以继续前进了。如果有最佳实践标准我很想学习。
我无法读取 VB.NET Web API 2 控制器中的 Axios json 数据。我喜欢
var headers = {
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*'
}
let url = 'https://.azurewebsites.net/api/SavePMIDdata/'
axios.post(url, {
params: {
pmids: PMIDList,
memberID: memberID
}
}, {
'headers': headers
})
.then(function (response) {
resultElement.innerHTML = generateSuccessHTMLOutput(response);
})
.catch(function (error) {
resultElement.innerHTML = generateErrorHTMLOutput(error);
});
}
我的 Web 中的控制器信息APIConfig 是:
config.Routes.MapHttpRoute(
name:="ActionApi",
routeTemplate:="api/{controller}/{action}"
)
我的控制器 class 是:
Public Function PostValue(<FromBody()> ByVal data As JToken) As String
我试过了:
Public Function PostValue(<FromBody()> ByVal data As string) As String
和
Public Function PostValue(<FromBody()> ByVal data As objJSON ) As String
和
Public Class objJSON
Public Property pmids As String
Public Property memberID As String
End Class
当我发送它时,我得到一个状态 200,如果我输入一个硬编码的 return 值,我会得到它,但如果我尝试读取正在发送的参数,我会得到一个空值。我认为我没有正确阅读它们。
如果我尝试做 Dim json As JObject = JObject.Parse(数据) 我回来了
"Value cannot be null.\r\nParameter name: s"
如果这是一个重复的问题,请发给我,因为我找不到它。我已经找了三天了。我遇到了一些接近的事情,但我无法让 VB 工作。我正在尝试将旧的 .asmx 代码转换为更新的结构。谢谢你的帮助。
经过几天的调整,我现在已经创建了有效的方法。我不是 100% 确定这是最佳做法,希望任何可以给我意见的人提供意见。
首先我改变了我的
axios.post(url, {
params: {
pmids: PMIDList,
memberID: memberID
}
}, {
'headers': headers
})
到
axios.post(url, {
pmids:PMIDList,
会员编号:会员编号
}, {
'headers': headers
})
我取出了参数:{}
接下来在我的控制器中我使用了:
Public Function PostValue(<FromBody()> ByVal value As objJSON) As String
Dim x = value.pmids.ToString
return (x)
End Function
它现在 returns 在 axios POST 中发送的 pmid 字符串。我很高兴,现在可以继续前进了。如果有最佳实践标准我很想学习。