我的简单 jQuery Ajax 调用不起作用
My simple jQuery Ajax call doesn't work
这个URLhttp://schooltray.com/VsStWsMblApps/SayHello?fullName=Joe%20Smith
得到这个:
{"SayHelloResult":"{\"Status\":1,\"Message\":\"Hello Joe Smith\"}"}
但是我的 JQuery
电话打不通。完整的 HTML 页面如下所示。
<!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>
<title>Say Hello</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
$(function () {
$('#btn_SayHello').click(function (e) {
$.ajax({
type: 'Get',
url: 'http://schooltray.com/VsStWsMblApps/SayHello?fullName=Joe%20Smith',
dataType: 'json',
success: function (response) {
alert('Success');
},
error: function (jqXHR, textStatus, errorThrown) {
alert('Error = ' + errorThrown + ' -- ' + jqXHR.responseText);
}
});
e.preventDefault();
});
});
</script>
</head>
<body>
Full Name:<br />
<input id="txt_Email" type="text" style="width: 300px;" />
<br /><br />
<input id="btn_SayHello" type="button" value="Say Hello" />
<br /><br />
</body>
</html>
好吧,我已经在我的本地进行了测试,如果您使用本地 JSON,代码将正确执行。但是如果你想要那个特定 URL 的 Json,我得到,"Access denied",
下面是错误,
XMLHttpRequest cannot load http://schooltray.com/VsStWsMblApps/SayHello?fullName=Joe%20Smith. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://cons.you.com' is therefore not allowed access.
即,您正在对另一个没有访问控制的域执行 XMLHttpRequest。因此浏览器阻止了 http
请求。
您可以创建一个表单并将所有输入内容放入该表单中,然后尝试
<!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>
<title>Say Hello</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
$(function () {
$('#btn_SayHello').click(function (e) {
$.ajax({
type: 'Get',
url: 'http://schooltray.com/VsStWsMblApps/SayHello?fullName=Joe%20Smith',
dataType: 'json',
success: function (response) {
alert('Success');
},
error: function (jqXHR, textStatus, errorThrown) {
alert('Error = ' + errorThrown + ' -- ' + jqXHR.responseText);
}
});
e.preventDefault();
});
});
</script>
</head>
<body>
<form name="formname">
Full Name:<br />
<input id="txt_Email" type="text" style="width: 300px;" />
<br /><br />
<input id="btn_SayHello" type="button" value="Say Hello" />
<br /><br />
</form>
</body>
</html>
这个URLhttp://schooltray.com/VsStWsMblApps/SayHello?fullName=Joe%20Smith
得到这个:
{"SayHelloResult":"{\"Status\":1,\"Message\":\"Hello Joe Smith\"}"}
但是我的 JQuery
电话打不通。完整的 HTML 页面如下所示。
<!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>
<title>Say Hello</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
$(function () {
$('#btn_SayHello').click(function (e) {
$.ajax({
type: 'Get',
url: 'http://schooltray.com/VsStWsMblApps/SayHello?fullName=Joe%20Smith',
dataType: 'json',
success: function (response) {
alert('Success');
},
error: function (jqXHR, textStatus, errorThrown) {
alert('Error = ' + errorThrown + ' -- ' + jqXHR.responseText);
}
});
e.preventDefault();
});
});
</script>
</head>
<body>
Full Name:<br />
<input id="txt_Email" type="text" style="width: 300px;" />
<br /><br />
<input id="btn_SayHello" type="button" value="Say Hello" />
<br /><br />
</body>
</html>
好吧,我已经在我的本地进行了测试,如果您使用本地 JSON,代码将正确执行。但是如果你想要那个特定 URL 的 Json,我得到,"Access denied",
下面是错误,
XMLHttpRequest cannot load http://schooltray.com/VsStWsMblApps/SayHello?fullName=Joe%20Smith. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://cons.you.com' is therefore not allowed access.
即,您正在对另一个没有访问控制的域执行 XMLHttpRequest。因此浏览器阻止了 http
请求。
您可以创建一个表单并将所有输入内容放入该表单中,然后尝试
<!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>
<title>Say Hello</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
$(function () {
$('#btn_SayHello').click(function (e) {
$.ajax({
type: 'Get',
url: 'http://schooltray.com/VsStWsMblApps/SayHello?fullName=Joe%20Smith',
dataType: 'json',
success: function (response) {
alert('Success');
},
error: function (jqXHR, textStatus, errorThrown) {
alert('Error = ' + errorThrown + ' -- ' + jqXHR.responseText);
}
});
e.preventDefault();
});
});
</script>
</head>
<body>
<form name="formname">
Full Name:<br />
<input id="txt_Email" type="text" style="width: 300px;" />
<br /><br />
<input id="btn_SayHello" type="button" value="Say Hello" />
<br /><br />
</form>
</body>
</html>