javascript – Angularjs $http.post – 将params作为JSON发送到ASPX webmethod
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – Angularjs $http.post – 将params作为JSON发送到ASPX webmethod,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2113字,纯文字阅读大概需要4分钟。
内容图文
![javascript – Angularjs $http.post – 将params作为JSON发送到ASPX webmethod](/upload/InfoBanner/zyjiaocheng/825/75fdbcd93a9a43599450d3a7676f597a.jpg)
我有以下angularjs代码发送http帖子到webmethod,但我得到以下错误没有更多的信息.有人可以帮忙吗?
如果我不向webmethod发送任何数据并且只从中获取数据,它就可以了!
无法加载资源:服务器响应状态为500(内部服务器错误)
angular.js:11442 POST http://localhost:54461/GetData.aspx/getData 500(内部服务器错误)
使用Javascript:
var request = "{'name':'" + "Nariman" + "'age':'" + 12 + "'}";
$scope.retData = {};
var config = {
headers: {
'Content-Type': '"application/json; charset=utf-8";',
'dataType': '"json"'
}
}
$scope.retData.getResult = function (item, event) {
$http.post('GetData.aspx/getData', request, config)
.success(function (data, status, headers, config) {
$scope.retData.result = data.d;
})
.error(function (data, status, headers, config) {
$scope.status = status;
});
}
ASPX webmethod(C#):
public static string getData(string name, int age)
{
string.Format("Name: {0}{2}Age: {1}", name, age, Environment.NewLine);
}
编辑————————————–
如果我不向网络方法发送任何json数据,它就可以正常工作.例如下面的代码工作,如果我把断点放在web方法内,它表明它去那里.但如果我发送json数据,它不会进入webmethod:
Javaacript(不发送任何json数据):
var config = {
headers: {
'Content-Type': '"application/json; charset=utf-8";',
'dataType': '"json"'
}
}
$scope.retData.getResult = function(item, event) {
$http.post('GetData.aspx/getData', data, config)
.success(function(data, status, headers, config) {
$scope.retData.result = data.d;
})
.error(function(data, status, headers, config) {
$scope.status = status;
});
}
ASPX(没有输入参数时)
public static string getData()
{
// just having a breakpoint shows it comes inside the
// webmethod when no data is passed.
}
解决方法:
您的问题似乎与Emmanual Durai在您的问题的第一条评论中指出:var request =“{‘name’:’”“Nariman”“’age’:’”12“’}”;不是有效的json对象.
请求将为您提供{‘name’:’Nariman’age’:’12’}作为字符串,它不会解析为JSON(格式存在问题).
你应该尝试类似下面的东西来获得一个有效的字符串
var request = {
name: "Nariman",
age: 12
}
var requestString = JSON.stringify(request)
另请看这里How to pass json POST data to Web API method as object.您的问题通常不是特定于angularjs $http,而是通常对XHR请求.
内容总结
以上是互联网集市为您收集整理的javascript – Angularjs $http.post – 将params作为JSON发送到ASPX webmethod全部内容,希望文章能够帮你解决javascript – Angularjs $http.post – 将params作为JSON发送到ASPX webmethod所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。