我想使用jQuery進行跨域調用,但迄今爲止相當不成功。我的HTML文件位於'C:/ Temp'文件夾名'test.html'。我的HTML代碼如下 -jQuery跨域調用
<!DOCTYPE html>
<html>
<head>
<title>My Page</title>
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
</head>
<body>
<input id="first_name" type="text" value="khan" />
<input id="clickme" type="button" value="Click Me!"/>
<script type="text/javascript">
$(document).ready(function() {
$("#clickme").click(function(){
$.ajax({
url: 'http://localhost:8008/qm/profile/' + $("#first_name").val() + "/",
type: "GET",
dataType: "jsonp",
crossDomain : true,
success: function(response)
{
alert(response.responseText);
},
error: function()
{
alert("fail");
},
});
});
});
</script>
</body>
</html>
現在在服務器端我有一個小的Python代碼看起來像這樣 -
def profile(request, username):
fullname = ''
if username == 'khan':
fullname = 'Khan Hannan'
data = {'fullname': fullname}
print data
return HttpResponse(json.dumps(data))
的Python代碼是Django項目裏面。如果我直接調用URL('http:// localhost:8008/qm/profile/khan'),我會從服務器得到一個JSON響應,但是當我通過jQuery放置相同的URL時,沒有得到任何迴應,它失敗了。
有什麼建議嗎?
它看起來並不像你回來JSONP。另外,我建議你不要從文件系統工作,它有一個不同於普通網絡服務器的安全規則。 –