私がやりたいこと?
javascriptajaxをjQueryajaxに変更することを考えています。短く見えて、たくさんの人が使っているのを見ましたが、なかなかうまくいきません。
私はこれまでに何を持っていますか?
私は要素を持っています:要素を
<li id="unique_id" onmousedown="check_element(event, this)">1</li>
クリックすると、どのキーが押されたかがチェックされ、そのmouse1が要素の背景をチェックします。要素に背景色がない場合は、要素を「赤」に変更し、ajaxを使用して要素のIDをMySQLデータベースに追加します。すでに背景が赤の場合(以前に追加されたことを意味します)、ajaxを使用してデータベースから削除します。
コード
チェック機能
function check_element(evt, e){
if(evt.which == 1){
if(e.style.background == "") {
e.style.background = "red";
send_with_ajax("add", e);
} else {
e.style.background = "";
send_with_ajax("delete", e);
}
}
}
Ajax(javascript付き):
function send_with_ajax(action, e){
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.open("GET","ajax/send_calendar.php?data="+e.id+"&action="+action+"",true);
xmlhttp.send();
}
send_calendar.phpは異常なことではありません。データベースから変数を取得$_GET['']
し、データベースから値をINSERTSまたはDELETESするだけです。問題は、この関数をjQuery Ajaxに変更するにはどうすればよいですか?
私は何を試しましたか?
function send_with_ajax(action, e){
$.Ajax({
type: "GET",
url: "send_calendar.php",
data: "data="+e.id+"&action="+action+"",
success: function(msg){
alert( "Data Saved: " + msg ); //never shows this alert
}
});
}
また、エラーが発生します:
Uncaught TypeError: Object function (a,b){return new e.fn.init(a,b,h)} has no method 'Ajax'
PS。これまでjQueryAjaxを使用したことがないので、何が間違っているのかわかりません。