2015-01-28 6 views
0

Javascript 및 Jquery를 사용하여 웹 서비스를 호출하고 있습니다. 서비스는 객체를 반환해야합니다. 반환 된 개체에 Result = 0이 포함되어 있으면 경고를 표시하고 그렇지 않으면 다른 경고를 표시하려고합니다.Javascript - 웹 서비스에서 AJAX 호출 응답 처리

내 코드는 다음과 같습니다. "if (data.Result)"및 "if (data.Result = 0)"시도하고 둘 다 작동하고 "주식 추가"팝업 메시지를 표시합니다.

도움을 주시면 감사하겠습니다.

개체 반환

data: Object 
Booking: Object 
BookingId: "28eec5f6-29a7-e411-941a-00155d101201" 
BookingProductIds: null 
BookingStatus: 2 
CrossSellProducts: null 
ErrorMessage: "" 
Result: 0 

자바 스크립트 코드 :

function generateOrder() { 
     ABC.TixService.AddStockProduct(null, null, productRequest, ticketingRequest, function (context, data) { 
      if (data.Result) { 
       alert("stock added"); 
      } 
      else 
       alert("error"); 
     }); 



AddStockProduct: function (context, bookingId, productRequests, request, action) { 
    $.ajax({ 
     url: 'TixService.svc/AddStockProduct', 
     cache: false, 
     type: 'POST', 
     dataType: 'json', 
     contentType: 'application/json', 
     data: JSON.stringify({ bookingId: bookingId, productRequests: productRequests, request: request }), 
     context: { context: context, action: action }, 
     success: function (data) { 
      this.action(this.context, data.AddStockProductResult); 

     }, 
     error: function (xhr, ajaxOptions, thrownError) { 
      ErrorResponse(xhr, thrownError); 
     } 
    }); 
}, 
+0

을, 당신은 항상 경고 ('오류') 올바른 얻을 ? –

+1

만약 'data.Result'가 0이면'if (data.Result)'가 거짓이되고, 등호 연산자가 아니라 대입 연산자를 사용했기 때문에'if (data.Result = 0)'는 항상 거짓이 될 것입니다. 0 '은 거짓입니다. –

+0

@KevinB 예. 결과 : 0은 내가받을 것으로 기대합니다. 그렇다면 "주식 추가", 그렇지 않으면 "오류"를 출력해야합니다. 잠시, 나는 항상 "오류"가납니다. – kong88

답변

0

이 테스트가 있어야하지 : 그래서

if(data.Result === 0){ 
    alert('stock added'); 
} 
+0

잘 모르겠습니다. 의견을 읽은 후. if (! data.Result) ... if (data.Result == 0) 및 if (data.Result === 0) 모두 작동합니다. – kong88

+0

=== 연산자를 찾으십시오. 정확한 일치입니다. – Ryan