2

これは私の JavaScript コードであり、コントローラーは次のように見えます
が、エラーまたは例外が発生するたびに、常に成功のコールバックに移動します

Javascript

var options = { 
    iframe: true,
    type: 'post',
    url: "api/Registration/Register",
    data: { "data": jsonData },
    dataType: 'json',
    success: function (responseText, statusText, xhr, $form) 
    {                 
        if (statusText == 'success') { 
        }
        else { //code == 'FAIL'
        }
    },
    error: function (response, status, err) {
    }};

    $('#registration').ajaxSubmit(options);


[HttpPost]
public Task<HttpResponseMessage> Register()
{
    //create task object and read server data
    try
    {
        var response = new HttpResponseMessage
        {
            StatusCode = HttpStatusCode.OK,
            Content = new StringContent(JsonConvert.SerializeObject(assistedRegResponse.Response))
        };
        return response;
     }
     catch (Exception ex){ throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex));}           
     return task;
}
4

1 に答える 1

1

投稿したコードでは、常にステータス コードを [ok] に設定しています。ここからAsp.Net MVC3、成功を返す JsonResult コントローラーの結果に従って結果を設定し、それを返す必要があります。

success: function(result){
    if(result.Success){
        //code for success
    }else{
        alert(result.Error);
    }
}

そんな感じ。お役に立てれば

于 2013-11-15T04:02:09.967 に答える