<html>
<head>
<title>Ajax</title>
<script type="text/JavaScript" src="jquery-1.5.1.min.js"></script>
<script type="text/JavaScript">
function register()
{
$.ajax({
type: "GET",
url: "http://exampleurl.com/api/index.php",
data: "action=login_user&app_key=MyAPIKey&username=Bob&password=HisPassword",
dataType: "text",
success: function(data)
{
alert(data);
}
error: function (jqXHR, textStatus, errorThrown)
{
alert(errorThrown);
}
});
}
</script>
</head>
<body>
<form>
<input type="button" value="Test" onclick="register()"/>
</form>
</body>
</html>
在地址栏中使用时,URL返回一个字符串(纯文本)。为什么上面的代码不起作用?当我点击按钮时,我没有得到警报。基本上没有任何反应。
浏览器尝试过:IE 8和Chrome。
感谢您的时间。
答案 0 :(得分:1)
$.ajax
来电可能会引发异常。
考虑
通过从网址中提取查询参数并提供data
对象来确保您的URI格式正确:
data: {
action: login_user,
app_key: ....
etc
}
添加error
处理程序
答案 1 :(得分:1)
example.com是您本地网站的网址吗?如果没有,则您的上述示例违反了Same Origin Policy。您可以通过服务器端的代理进行调用来避免这种情况。
答案 2 :(得分:0)
尝试添加
error: function (jqXHR, textStatus, errorThrown) {
alert(errorThrown);
}
答案 3 :(得分:0)
您是否尝试过分开数据?
$.ajax({
type: "GET",
url: "http://exampleurl.com/api/index.php",
data: "action=login_user&app_key=MyAPIKey&username=Bob&password=BobPassword",
dataType: "text",
success: function(data) {
alert(data);
}
});
答案 4 :(得分:0)
您是否可以访问后端网址?
您可能需要声明contentType。您可能还需要发布帖子并设置数据。
data: "{ 'action': 'login_user', 'app_key': 'MyAppKey', etc. }"