Javascript 使用jqueryajax和php的简单helloworld';t工作
我正在尝试使用jQuery和Ajax从同一文件夹中的php获取响应,这是一个简单的Javascript 使用jqueryajax和php的简单helloworld';t工作,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我正在尝试使用jQuery和Ajax从同一文件夹中的php获取响应,这是一个简单的helloworld jQuery代码是: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <script type="text
helloworld
jQuery代码是:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<script type="text/javascript" src="http://netdna.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
<link href="http://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.3.0/css/font-awesome.min.css"
rel="stylesheet" type="text/css">
<link href="http://pingendo.github.io/pingendo-bootstrap/themes/default/bootstrap.css"
rel="stylesheet" type="text/css">
<script type="text/javascript">
function jsonIt(){
var x = document.getElementById("input1").value;
var y = document.getElementById("input2").value;
var obj = '{'
+'"id" : "'+x+'",'
+'"name" : '+y+''
+'}';
var person = {
id:x,
name:y
};
var str_json = JSON.stringify(person);
$.ajax({
type: 'get',
url: 'a.php',
dataType: 'text',
data: obj,
success: function(data) {
alert(data);
},
error: function(e){
console.log(e.message);
//alert('error');
}
});
alert("Pause");
}
</script>
</head>
<body>
<div class="section">
<div class="container">
<div class="row">
<div class="col-md-12">
<form class="form-horizontal" role="form">
<div class="form-group">
<div class="col-sm-2">
<label for="inputEmail3" class="control-label">Email</label>
</div>
<div class="col-sm-10">
<input type="text" class="form-control" id="input1" placeholder="Email">
</div>
</div>
<div class="form-group">
<div class="col-sm-2">
<label for="inputPassword3" class="control-label">Password</label>
</div>
<div class="col-sm-10">
<input type="text" class="form-control" id="input2" placeholder="Password">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<div class="checkbox">
<label>
<input type="checkbox">Remember me</label>
</div>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-default" onclick="jsonIt()">Sign in</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</body>
</html>
按钮的标记如下所示:
<button type="submit" class="btn btn-default" >Sign in</button>
登录
但它仍然返回我“[object XMLDocument]”,而不是Hello world 如果要将jQuery脚本添加到页面顶部,则需要使用文档就绪处理程序将其包围:
<script type="text/javascript">
$(document).ready(function() {
function jsonIt(){
$.ajax({
method: 'GET',
url: 'a.php',
//url: 'http://practica00.tk/a.php',
dataType: 'text'
})
.done(function(data) {
alert(data);
})
.fail (function( jqXHR, textStatus ) {
console.log( "Request failed: " + textStatus );
});
alert("Pause");
}
$(document).on('click', 'button[type="submit"]', function(e) {
e.preventDefault(); // prevents the default click action
jsonIt();
});
});
</script>
我不知道你为什么要用JSON字符串做任何事情,因为你没有在任何地方的查询中使用它。您从未定义过obj
,因此不应该发送它
编辑:我已经更新了答案,以反映使用jQuery版本时更合适的AJAX返回方法
不推荐使用注意事项:从jQuery 1.8开始,jqXHR.success()、jqXHR.error()和jqXHR.complete()回调都不推荐使用。要准备代码以便最终删除,请改用jqXHR.done()、jqXHR.fail()和jqXHR.always()
如果你想做一个简单的“hello world”,你应该在增加任何复杂性之前删除任何偏离目的的代码
此外:要执行AJAX(以及相应的PHP),您必须从运行的web服务器执行代码,无论是本地主机还是测试主机,在那里所有内容都可以正确执行。如果要将jQuery脚本添加到页面顶部,您需要用一个可供文档使用的处理程序将其包围:
<script type="text/javascript">
$(document).ready(function() {
function jsonIt(){
$.ajax({
method: 'GET',
url: 'a.php',
//url: 'http://practica00.tk/a.php',
dataType: 'text'
})
.done(function(data) {
alert(data);
})
.fail (function( jqXHR, textStatus ) {
console.log( "Request failed: " + textStatus );
});
alert("Pause");
}
$(document).on('click', 'button[type="submit"]', function(e) {
e.preventDefault(); // prevents the default click action
jsonIt();
});
});
</script>
我不知道你为什么要用JSON字符串做任何事情,因为你没有在任何地方的查询中使用它。您从未定义过obj
,因此不应该发送它
编辑:我已经更新了答案,以反映使用jQuery版本时更合适的AJAX返回方法
不推荐使用注意事项:从jQuery 1.8开始,jqXHR.success()、jqXHR.error()和jqXHR.complete()回调都不推荐使用。要准备代码以便最终删除,请改用jqXHR.done()、jqXHR.fail()和jqXHR.always()
如果你想做一个简单的“hello world”,你应该在增加任何复杂性之前删除任何偏离目的的代码
此外:要执行AJAX(以及相应的PHP),您必须从运行的web服务器执行代码,无论是本地主机还是测试主机,在那里所有内容都可以正确执行。如果要将jQuery脚本添加到页面顶部,您需要用一个可供文档使用的处理程序将其包围:
<script type="text/javascript">
$(document).ready(function() {
function jsonIt(){
$.ajax({
method: 'GET',
url: 'a.php',
//url: 'http://practica00.tk/a.php',
dataType: 'text'
})
.done(function(data) {
alert(data);
})
.fail (function( jqXHR, textStatus ) {
console.log( "Request failed: " + textStatus );
});
alert("Pause");
}
$(document).on('click', 'button[type="submit"]', function(e) {
e.preventDefault(); // prevents the default click action
jsonIt();
});
});
</script>
我不知道你为什么要用JSON字符串做任何事情,因为你没有在任何地方的查询中使用它。您从未定义过obj
,因此不应该发送它
编辑:我已经更新了答案,以反映使用jQuery版本时更合适的AJAX返回方法
不推荐使用注意事项:从jQuery 1.8开始,jqXHR.success()、jqXHR.error()和jqXHR.complete()回调都不推荐使用。要准备代码以便最终删除,请改用jqXHR.done()、jqXHR.fail()和jqXHR.always()
如果你想做一个简单的“hello world”,你应该在增加任何复杂性之前删除任何偏离目的的代码
此外:要执行AJAX(以及相应的PHP),您必须从运行的web服务器执行代码,无论是本地主机还是测试主机,在那里所有内容都可以正确执行。如果要将jQuery脚本添加到页面顶部,您需要用一个可供文档使用的处理程序将其包围:
<script type="text/javascript">
$(document).ready(function() {
function jsonIt(){
$.ajax({
method: 'GET',
url: 'a.php',
//url: 'http://practica00.tk/a.php',
dataType: 'text'
})
.done(function(data) {
alert(data);
})
.fail (function( jqXHR, textStatus ) {
console.log( "Request failed: " + textStatus );
});
alert("Pause");
}
$(document).on('click', 'button[type="submit"]', function(e) {
e.preventDefault(); // prevents the default click action
jsonIt();
});
});
</script>
我不知道你为什么要用JSON字符串做任何事情,因为你没有在任何地方的查询中使用它。您从未定义过obj
,因此不应该发送它
编辑:我已经更新了答案,以反映使用jQuery版本时更合适的AJAX返回方法
不推荐使用注意事项:从jQuery 1.8开始,jqXHR.success()、jqXHR.error()和jqXHR.complete()回调都不推荐使用。要准备代码以便最终删除,请改用jqXHR.done()、jqXHR.fail()和jqXHR.always()
如果你想做一个简单的“hello world”,你应该在增加任何复杂性之前删除任何偏离目的的代码
另外:要执行AJAX(以及相应的PHP),您必须从运行的web服务器执行代码,无论是本地主机还是测试主机,在那里一切都可以正常执行。您如何调用AJAX函数?我们能看到代码/标记吗?你看过控制台上的错误了吗?您包括jQuery库了吗?我问的问题太多了吗?你想要更多的JS代码吗?您的数据对象,
obj
,从来没有在任何地方定义过。请将另一个选项传递给ajax调用dataType:'text'
或processData:false
,然后它将不会尝试从response@mituw16据我所知,php文件实际上没有使用来自obj
@AlexAndrei的数据,但JS变量从未定义过,这可能导致OP在浏览器控制台中看到未定义的JS错误。您如何调用AJAX函数?我们能看到代码/标记吗?你看过控制台上的错误了吗?您包括jQuery库了吗?我问的问题太多了吗?你想要更多的JS代码吗?您的数据对象,obj
,从来没有在任何地方定义过。请将另一个选项传递给ajax调用dataType:'text'
或processData:false
,然后它将不会尝试从response@mituw16据我所知,php文件实际上没有使用来自obj
@AlexAndrei的数据,但JS变量从未定义过,这可能导致OP在浏览器控制台中看到未定义的JS错误。您如何调用AJAX函数?我们能看到代码/标记吗?你看过控制台上的错误了吗?您包括jQuery库了吗?我问的问题太多了吗?Wou
<button type="submit" class="btn btn-default" onclick="jsonIt(); return false;">Sign in</button>
$(document).on('click', 'button[type="submit"]', function(e) {
e.preventDefault(); // prevents the default click action
jsonIt();
});