gpt4 book ai didi

asp.net - http post请求在ASP NET MVC中将参数转换为 'Null'

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:24:50 26 4
gpt4 key购买 nike

考虑以下场景和代码片段。本次提问基于ASP.NET MVC、Angular 1.x、JS、Jquery等技术。

假设有一个文本框,其属性为 id = "textExample"ng-model = "exampleText"。根据 MVC 架构,我将从 View 中将文本框输入发送到 Controller 。因此,对于这项任务,我使用了以下代码片段。

(一)

$http ({
// Rest is avoided for now //
data : $.param({'Test_Code' : $scope.exampleText})
}).then() ---

(乙)

$http({
data : "sendingData"
}).then ({})

(三)

$http ({
data : ({'Test_Code' : $scope.exampleText})
})

(D)

$http({
data : $("#textExample").val()
})

(E)

var testExample = $scope.exampleText ; // $scope.exampleText == 'XYZ' 

$http ({
data : ({'Test_Code' : testExample })
})

运行应用程序后,我检查了前端 (google Developers Console) 的每个函数,然后它命中了我要发送的参数。在后端/ Controller 端接收结果,ASP NET MVC Controller ,POST 请求

(A) --> Value is Null
(B) --> Value is "sendingData"
(C) --> Value is Null
(D) --> Value is Null
(E) --> Value is 'XYZ'

我发现的主要问题(如我所见)是即使每 5 个函数都获取参数,它也会在将参数发送到 Controller 时更改值。但是硬编码参数没有改变(B)。有时,如果其他技术不成功,则上述技术中的一种可以成功。那么,有人可以向我解释为什么会发生这种事情吗?或者使用

的不良做法是什么

最佳答案

通过 AngularJS 请求/响应的默认转换规则在 AngularjS API 中描述。 .

规则被描述为:

请求转换 ($httpProvider.defaults.transformRequest 和 $http.defaults.transformRequest) 是一个数组,其中一个函数执行以下操作:

如果请求配置对象的data属性包含一个对象,将其序列化为JSON格式

根据这些规则,您的 (C) 肯定有效。您能否检查一下您是否在 $scope.exampleText 中获得了有效的值/文本?

关于asp.net - http post请求在ASP NET MVC中将参数转换为 'Null',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44749263/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com