Tag Archives: jquery

使用jquery获取 sharepoint restful web service(实例代码)

javascript本身的跨域问题是测试过程中遇到的主要问题,但是使用jquery可以很轻松的解决。

完整的代码如下

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="Pragma" content="no-cache" />
	<title>Test MANS</title>
	<script type="text/javascript" src="jquery-1.8.3.min.js"></script>
</head>



<body>

</body>

<script type="text/javascript">

$(document).ready(function() {
	
	jQuery.support.cors = true;
	$.ajax( {
		url : "http://test.sharepoint/_vti_bin/listdata.svc/Test",
		async:true,
		dataType : "json",
		cache : false,
		success : function(data) {
			alert("f");
			if(data!=null && data.d!=null && data.d.results!=null){								
				$(data.d.results).each(function(i) {
					//alert(this.Code);
				});
			}
		},
		error : function(XMLHttpRequest, textStatus, errorThrown) {
            alert("error: " + errorThrown);
        }
	});
});
</script>
	
</html>

jQuery .Ajax() 方法在IE浏览器返回No Transport

jQuery Ajax 返回No Transport通常是由于跨域调用javascript造成的。

解决方法很简单(测试在jquery.1.8.3.js),  在你的ajax方法之前加

jQuery.support.cors = true;

完整的代码如下

$(document).ready(function() {
    jQuery.support.cors = true;
    $.ajax( {
	url : "http://test.sharepoint/_vti_bin/listdata.svc/test",
	/*data : {
            "phone" : phoneNo
	},*/
	async:true,
	dataType : "json",
	cache : false,
	success : function(data) {
	    alert("f");
	    if(data!=null && data.d!=null && data.d.results!=null){							$(data.d.results).each(function(i) {
	            alert(this);
		});
	    }
	},
	error : function(XMLHttpRequest, textStatus, errorThrown) {
            alert("error: " + errorThrown);
        }
   });
});