如何通过JavaScript发送跨域POST请求?
注意 - 它不应该刷新页面,然后我需要抓取并解析响应.
我正在开发REST WCF服务,理论上我知道何时选择什么目的.
GET 获得资源PUT 更新POST 插入DELETE 删除但是,如果我们不遵循上述规则,假设插入一个我使用过的GET方法的记录,有什么不利之处呢?
在创建ajax请求时,GET优于POST的优势是什么,反之亦然?我怎么知道在任何时候我应该使用哪个?这是一个有安全意识的决定吗?
另外,实际发送方式有何不同?
为什么AJAX中存在GET和POST请求,因为它不会影响页面URL?在AJAX中通过GET传递敏感数据会有什么不同,因为数据没有反映到页面URL?
我想在我的页面上有一个链接(有更好的选项吗?),点击时会发出Ajax请求.(我想在点击链接时更新数据库中的字段.)
实现这一目标的最简单方法是什么?
你能给我推荐一些教程吗?
有很多问题,但没有答案似乎很容易.
我<form>在每一行都有删除图标.现在.on('click',functoin()..我有一个像这样的ajax请求:
$.ajax({
type:"POST",
url:"/update_rows.php",
data:"delete_id="+$(this).attr("row"),
success:function(data) {
if(data) {
//window.location.reload(true);
//alert(data);
$(".refresh-after-ajax").load("/cms/modules/mod11/inc/modinclude_admin.php .refresh-after-ajax");
} else {
//window.location.reload(true);
}
}
});
Run Code Online (Sandbox Code Playgroud)
这有效,update_rows.php看起来像这样:
<?php
require_once($_SERVER["DOCUMENT_ROOT"].'/cms/inc/config.inc.php');
global $navid,$DB_PRE,$lang_cms;
$db=new DB();
$sql='Delete FROM '.$DB_PRE.'_mod_ref_pricing WHERE id='.intval($_POST['delete_id']);
$db->query($sql);
?>
Run Code Online (Sandbox Code Playgroud)
现在我不想使用window.location.reload(true);因为我只想更新已删除行的容器.当你看到我试图.load()只重新加载,<div/>但没有机会.alert(data)是空的,因为我没有返回任何东西,update_rows.php但我应该返回那里刷新<div/>?
谢谢你的建议!
我似乎无法找到一个几乎确切的问题,所以我不妨问一下.
将变量从Javascript发送到PHP真的是一种标准做法吗?我计划在Javascript中进行几次评估之后将数组发送到PHP - 在这里和那里传递变量......只是再次组合成一个数组,正如我所说,将传递给PHP.我错过了什么吗?我几乎没有看到任何教程这样做,主要是相反的方式 - 即PHP数组到Javascript.让我想一想,由于安全原因,也许没有被建议对PHP执行Javascript.
简单地说,将Javascript数组发送到PHP以后将被保存到数据库是危险的吗?我还没有完全阅读如何做到这一点,只扫描了我能找到的极少数... json stringify,$ _POST,json encode,json decode.如果可以将JS传递给PHP,并且因为它与我的问题有关,那么有人可以指出我提到哪些是最好的安全性?谢谢!
ajax ×5
javascript ×3
get ×2
php ×2
post ×2
.net ×1
arrays ×1
cross-domain ×1
html ×1
http ×1
http-method ×1
jquery ×1
json ×1
rest ×1
security ×1
wcf ×1
web-services ×1