从ajax调用web api

时间:2014-08-20 21:01:33

标签: .net ajax web-services api post

我在.NET中有以下代码:

// GET api/EmailValidationStaging/5
public EmailValidation GetEmailValidation(long id)

这是一个GET方法,我可以这样称呼它:

$("#buttonFIND").click(function (e) {
    e.preventDefault();
    $.get("[removed for privacy]/webservice/api/emailvalidationstaging/" + $("#textRecordId").val() + "?key=key", function (json) {
                $("#RecordId").val(json.RecordId);
                $("#Email").val(json.Email);
                $("#Validated").val(json.Validated);
                $("#IsEmailCurrent").val(json.IsEmailCurrent);
                $("#SentOut").val(json.SentOut);
                $("#TableRecordId").addClass("showStuff");
                //alert("success");
            })
                .fail(function () { });
        });

一切都很完美!

现在我需要做同样的事情,但这次它是一个POST方法,我不知道该怎么做。我试过的一切都失败了,请有人给我一个体面的答案。我需要调用这个方法:

这是一个POST方法,我打电话给:

// POST api/EmailValidationStaging
public HttpResponseMessage PostEmailValidation(EmailValidation emailvalidation)

其他信息:

我正在使用Fiddler Web Debugger(Fiddler2)

在compose下我有Parsed(选择POST),然后像这样的url:     [隐私保护] / webservice / api / emailvalidationstaging /?key = key

我正在使用HTTP / 1.1 使用以下参数:

User-Agent: Fiddler
Host: 
Content-Length: 25
Content-Type: text/xml

RequestBody:     {" MemberSSN":" 999999999"}

我得到的结果是:

HTTP/1.1 502 Fiddler - Gateway Connection Failed
Date: Thu, 21 Aug 2014 18:52:32 GMT
Content-Type: text/html; charset=UTF-8
Connection: close
Cache-Control: no-cache, must-revalidate
Timestamp: 11:52:32.933

1 个答案:

答案 0 :(得分:0)

使用jquery post方法调用api方法:

  

$。柱()

以下是其文档的链接 jquery post 并确保您的api操作标记为HttpPost