2010-01-12 42 views

Trả lời

1

Nó sẽ không "chuyển đổi", nhưng cả hai sẽ có tác dụng tương tự như người dùng quan tâm. Một yêu cầu sẽ được gửi đi, nhưng không có phản hồi nào sẽ trả lại cho khách hàng.

Cá nhân, tôi nghĩ bạn cần gửi một số phản hồi lại cho khách hàng, ngay cả khi bạn chỉ viết tiếp tục hoặc thành công trực tiếp cho luồng phản hồi. Ngay cả một JSON true, hoặc một tài liệu XML trống là tốt hơn không có gì cả.

+1

Tại sao các downvotes đây? Phản đối trong tên của lý do; rất tốt về việc luôn luôn trả lại một cái gì đó. – ProfK

+8

Tôi nghi ngờ lý do cho downvote (tôi đã không) là bởi vì một phản ứng "không" trở lại. Đáp 200 OK phản ứng. Cơ thể phản ứng là trống rỗng, mặc dù. Tôi nghĩ rằng với các hoạt động ajax nó là hợp lý để sử dụng mã trạng thái HTTP để giao tiếp kết quả hoạt động. 200 OK, 500 Lỗi, 403 bị cấm, vv Cơ thể không phải lúc nào cũng cần thiết. – MarkPflug

3

Dường như vậy, hãy kiểm tra source code of ControllerActionInvoker.cs. Tôi đã không xác minh nó, nhưng logic nói với tôi rằng một void trở lại sẽ thiết lập actionReturnValue thành null, do đó, một EmptyResult được tạo ra. Đây là mã nguồn mới nhất, chưa kiểm tra nguồn cho ASP.net MVC 1.0.

protected virtual ActionResult CreateActionResult(ControllerContext controllerContext, ActionDescriptor actionDescriptor, object actionReturnValue) { 
    if (actionReturnValue == null) { 
     return new EmptyResult(); 
    } 

    ActionResult actionResult = (actionReturnValue as ActionResult) ?? 
     new ContentResult { Content = Convert.ToString(actionReturnValue, CultureInfo.InvariantCulture) }; 
    return actionResult; 
} 
Các vấn đề liên quan