你是如何去REST的行動的話發送到服務器,如果的JavaScript是從您的瀏覽器禁用?如何從瀏覽器禁用JavaScript時發送PUT和DELETE?
以下是我發送RESTful動詞到服務器的簡單測試。它緊緊依靠ajax的type: 'GET', etc
。
jQuery的,
$(document).ready(function() {
$(".rest-get").click(function(){
$.ajax({
type: 'GET',
url: 'server.php',
dataType: "json", // data type of response
success: function(){
//
}
});
return false;
});
$(".rest-post").click(function(){
$.ajax({
type: 'POST',
url: 'server.php',
dataType: "json", // data type of response
success: function(){
//
}
});
return false;
});
$(".rest-put").click(function(){
$.ajax({
type: 'PUT',
url: 'server.php',
dataType: "json", // data type of response
success: function(){
//
}
});
return false;
});
$(".rest-delete").click(function(){
$.ajax({
type: 'DELETE',
url: 'server.php',
dataType: "json", // data type of response
success: function(){
//
}
});
return false;
});
});
HTML,
<ul>
<li><a href="#" class="rest-get">Get</a></li>
<li><a href="#" class="rest-post">Post</a></li>
<li><a href="#" class="rest-put">Put</a></li>
<li><a href="#" class="rest-delete">Delete</a></li>
</ul>
PHP,
<?php echo $_SERVER['REQUEST_METHOD'];?> // you get PUT, DELETE, GET, or POST
我知道我們可以從HTML的形式發送POST,
<form method="POST">
...
</form>
但對於PUT和DELETE?如果沒有辦法從HTML表單發送它們,那麼當JavaScript從瀏覽器中消失時,您的web服務或API將失敗?
你可以把任何你想要的方法放到窗體的方法中。如果JS被禁用,這將是您甚至可以嘗試在服務器上進行放置/刪除的唯一方式。 – 2014-10-06 15:41:57
如果禁用JS,則無法使用AJAX。您只能使用普通鏈接和表單提交。您需要將REST客戶端放在服務器上。 – Barmar 2014-10-06 15:43:06
謝謝。你的意思是我們可以做到這一點 - 「