相关疑难解决方法(0)

AngularJs $ http.post()不发送数据

谁能告诉我为什么以下声明不会将发布数据发送到指定的网址?当我打印$ _POST时,在服务器上调用url - 我得到一个空数组.如果我在将数据添加到数据之前在控制台中打印消息 - 它会显示正确的内容.

$http.post('request-url',  { 'message' : message });
Run Code Online (Sandbox Code Playgroud)

我也尝试将数据作为字符串(具有相同的结果):

$http.post('request-url',  "message=" + message);
Run Code Online (Sandbox Code Playgroud)

当我以下列格式使用它时它似乎正在工作:

$http({
    method: 'POST',
    url: 'request-url',
    data: "message=" + message,
    headers: {'Content-Type': 'application/x-www-form-urlencoded'}
});
Run Code Online (Sandbox Code Playgroud)

但有没有办法用$ http.post()来做 - 并且我总是必须包含标题才能使它工作?我相信上面的内容类型是指定发送数据的格式,但我可以将其作为javascript对象发送吗?

post angularjs angular-http

333
推荐指数
16
解决办法
69万
查看次数

Web API复杂参数属性均为null

我有一个Web API服务调用,用于更新用户的首选项.不幸的是,当我从jQuery ajax调用调用此POST方法时,请求参数对象的属性始终为null(或默认值),而不是传入的内容.如果我使用REST客户端调用相同的方法(我使用Postman) ,它工作得很漂亮.我无法弄清楚我做错了什么,但希望有人见过这个.这很简单......

这是我的请求对象:

public class PreferenceRequest
{
    [Required]
    public int UserId;

    public bool usePopups;
    public bool useTheme;
    public int recentCount;
    public string[] detailsSections;
}
Run Code Online (Sandbox Code Playgroud)

这是UserController类中的控制器方法:

    public HttpResponseMessage Post([FromBody]PreferenceRequest request)
    {
        if (request.systemsUserId > 0)
        {
            TheRepository.UpdateUserPreferences(request.UserId, request.usePopups, request.useTheme,
                                         request.recentCount, request.detailsSections);

            return Request.CreateResponse(HttpStatusCode.OK, "Preferences Updated");                
        }
        else
        {
            return Request.CreateErrorResponse(HttpStatusCode.NotAcceptable, "You must provide User ID");
        }
    }
Run Code Online (Sandbox Code Playgroud)

这是我的ajax电话:

var request = {
    UserId: userId,
    usePopups: usePopups,
    useTheme: useTheme,
    recentCount: recentCount,
    detailsSections: details
};

$.ajax({
    type: "POST",
    data: request,
    url: …
Run Code Online (Sandbox Code Playgroud)

c# ajax jquery json asp.net-web-api

38
推荐指数
3
解决办法
4万
查看次数

标签 统计

ajax ×1

angular-http ×1

angularjs ×1

asp.net-web-api ×1

c# ×1

jquery ×1

json ×1

post ×1