功能:使用ajax()方法是最底层、功能最强大的请求服务器数据的方法,它不仅可以获取服务器返回的数据,还能向服务器发送请求并传递数值。
调用格式:jQuery.ajax([settings])或$.ajax([settings])。
其中参数settings为发送ajax请求时的配置对象,可以配置多个参数,比如:
url表示服务器请求的路径,
data为请求时传递的数据,
dataType为服务器返回的数据类型,
success为请求成功的执行的回调函数,
type为发送数据请求的方式,默认为get。
设置$.ajax()方法中的配置对象,检测输入值的奇偶性,并将检测后的结果显示在页面中。请使用POST方式发送请求。
<body>
<div id="divtest">
<div class="title">
<span class="fl">检测数字的奇偶性</span>
<span class="fr">
<input id="btnCheck" type="button" value="检测" />
</span>
</div>
<ul>
<li>请求输入一个数字
<input id="txtNumber" type="text" size="12" />
</li>
</ul>
</div>
<script type="text/javascript">
$(function () {
$("#btnCheck").bind("click", function () {
$.ajax({
url:"http://www.imooc.com/data/check.php",
type:"post",
data: { num: $("#txtNumber").val() },
success: function (data) {
$("ul").append("<li>你输入的<b> "
+ $("#txtNumber").val() + " </b>是<b> "
+ data + " </b></li>");
}
});
})
});
</script>
</body>
问题一:如果不设置type,则所有的数字都被认为是偶数。为什么?
因为这里需要传递参数过去,所以需要设置type,如果不设置或者设置为get则服务器获取不到数据(因为服务器是用post接收),默认是空,转化为数字是0。所以一直是偶数。个人认为:如果不需要传递参数,则不用设置type。
问题二:dataType什么时候需要设置?
dataType是用来设定你ajax获取到的后台数据形式。
如果从后台获取到的数据类型就是简单的一个字符串的话,是不需要写dataType的。
但如果是JSON格式的,或者其他类型格式的,如XML等~是需要写dataType来确认获取数据类型的,否则你获取到的会是一个长字符串,而不是一个JSON对象。
由上可见:$.get()和$.post()方法方便得多!