所以我在这个方法中使用WCF:
[OperationContract]
[WebGet(ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.WrappedRequest)]
MathResult DoMath(double n1, double n2);
MathResult的一个元素是商...任何当你除以0时,这个数字变得无限大。
WCF返回此字段,其值为INF。
这导致问题,我得到“未捕获的ReferenceError:INF未定义”错误。
这是它返回的JSON(如果n1 = 1且n2 = 0):
{"__type":"MathResult:#Microsoft.Samples.ComplexTypeAjaxService","difference":1,"product":0,"quotient":INF,"sum":1}
这是我的代码:
$(document).ready(function(){
var derp = function(result)
{
$("#output").text(result.sum);
}
$("#btn1").click(function(){
var myurl = "http://localhost:54111/service.svc/DoMath";
$.ajax({
url: myurl,
data: { n1: $("#txt1").val(), n2: $("#txt2").val() },
type: 'GET',
success: derp,
error: function(){ alert("Oh ****"); },
dataType: 'jsonp'
});
});
});
这是数据合同:
[DataContract]
public class MathResult
{
[DataMember]
public double sum;
[DataMember]
public double difference;
[DataMember]
public double product;
[DataMember]
public double quotient;
}
它适用于它返回的任何其他值。
答案 0 :(得分:0)
在这种情况下,INF表示无穷大-因此,似乎在您的逻辑中某处存在被零除...