Jquery 我无法理解AJAX与普通HTTP方法在实际方面有何区别?

Jquery 我无法理解AJAX与普通HTTP方法在实际方面有何区别?,jquery,node.js,ajax,http,crud,Jquery,Node.js,Ajax,Http,Crud,我知道AJAX只需重新加载网页的某些部分,而不刷新整个页面,这与HTTP不同,AJAX必须重新刷新 我创建了一个TODO应用程序来尝试两种不同的方法: 这是我的HTML HTTP方法post有两个按钮submit,AJAX调用有两个按钮click 这是我的AJAX调用 $(文档).ready(函数(){ $(“#按钮”)。单击(功能(e){ e、 预防默认值(); 让todo={ ‘todo’:$(‘inputTodo’).val() }; $.ajax({ 类型:“POST”, url:“

我知道AJAX只需重新加载网页的某些部分,而不刷新整个页面,这与HTTP不同,AJAX必须重新刷新

我创建了一个TODO应用程序来尝试两种不同的方法:

这是我的HTML HTTP方法post有两个按钮
submit
,AJAX调用有两个按钮
click


这是我的AJAX调用

$(文档).ready(函数(){
$(“#按钮”)。单击(功能(e){
e、 预防默认值();
让todo={
‘todo’:$(‘inputTodo’).val()
};
$.ajax({
类型:“POST”,
url:“/addTodo”,
数据:todo,
成功:功能(todo){
location.reload();
}
});
});
});
这是我的
post
请求的后端处理程序

app.post('/addTodo',函数(req,res)
{
var todo=req.body.todo;
userModel.update({
_id:请求用户。\u id
}, {
$push:{
待办事项:待办事项
}
},函数(错误,完成){
如果(错误)
返回错误;
已完成的返回;
});
res.redirect('/profile');
});
在这两种方法中,我都会刷新整个页面以查看添加的TODO
在普通http方法上使用
res.redirect
,在AJAX方法中使用
location.reload()
,AJAX方法不应该在不刷新页面的情况下添加TODO吗?

而不是在AJAX中使用
location.reload()
,您可以在其中添加一个div,以便使用

$('todos')。在('')之前

然后使用

$('todos').hide()

最后呢

$('#profile').load(todos.body.loc+'#idOfContentInProfilePage')

在app.post中,而不是res.redirect('/profile'),您只需执行
res.end({“loc”:“/profile”})


如果配置文件页面是一个完全不同的页面,内容和样式都发生了完全的更改,那么您可能希望改为重定向。

AJAX正在刷新页面,因为您有
location.reload()success
方法中的code>

使用
AJAX
Submit
按钮调用
PHP
文件:

$(“#toDoAjax”)。单击(函数()
{
var textToSend=$('#toDoText').value;
$.post(“PopFile的位置”,
{
toDoText:textToSend
},
功能(数据、状态)
{
警报(“这是我收到的:“+data+”\n状态:“+Status”);
});
});

我不确定您到底在问什么,但是来自普通方法和AJAX的HTTP请求是相同的。区别在于如何处理响应。在普通请求中,将返回整个HTML文档并将其加载到浏览器中。在AJAX请求中,应该只返回要在现有文档中更新的内容(或者可以用于更新当前文档的数据结构,例如JSON或XML)。AJAX请求还意味着当前页面仍在浏览器中加载。