通过ajax将对象的标识符传递给服务器/控制器的最佳方法是什么(例如我们在网站上#34; book / edit / mybookname"以及更新此书实体的内容&# 34; mybookname"通过ajax)?
我想到了一些方法,并想知道,最常见和最安全的方式是什么:
1)将书的ID传递给控制器
- >问题:可以使用浏览器控制台更改ID变量/字段
2)将当前URL(window.location.href)传递给控制器,并从控制器中的url中提取名称
- > window.location.href无法通过控制台进行更改..?
我知道我必须检查服务器端,用户是否应该有权编辑实体。但是,如果他有一本以上的书,他可能会将id参数更改为他拥有的另一本书,然后他会在后台更改另一本书,而不是他目前正在浏览的那本书。
答案 0 :(得分:0)
想到ajax你可以使用帖子数据。无法在浏览器地址栏中进行编辑。
var xmlhttp;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState===4 && xmlhttp.status===200)
{
//do whatever with response
}
};
xmlhttp.open("POST","ajax/ajax.php);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("field1=whatever&field2=whateverelse");