Вот так я и понял.Просто потому, что я использую функцию безопасности CSRF codeigniter, в мою форму добавляется скрытое поле ввода:
<input type="hidden" name="csrf_test_name"
value="cc0294deffcc52f34bcdbcxxxxxxxxx" />
Я обнаружил это с помощью инструмента разработчика отладчика браузера Firefox.Ниже приведен мой первоначальный скрипт, который не включает скрытое поле csrf:
<script>
$(document).ready(function() {
$("#addvotemate").click(function() {
var vuniq_userid = $("#vuniq_userid").val();
var vmuniq_userid = $("#vmuniq_userid").val();
//alert("I work to this point");
if (vuniq_userid == '' || vmuniq_userid == '' ) {
alert("Request Failed Try Again");
} else {
// alert(vuniq_userid +' '+ vmuniq_userid);
$.post("<?php echo site_url('user/addvotemate'); ?>", {
vuniq_userid1: vuniq_userid,
vmuniq_userid1: vmuniq_userid
}, function() {
alert("Message Sent");
$('#votreq')[0].reset(); // To reset form fields
});
}
});
});
</script>
Итак, я решил включить скрытое поле в мой скрипт следующим образом:
<script>
$(document).ready(function() {
$("#addvotemate").click(function(e) {
e.preventDefault();
var csrf = $('[name="csrf_test_name"]').val();
var vuniq_userid = $("#vuniq_userid").val();
var vmuniq_userid = $("#vmuniq_userid").val();
if (vuniq_userid == '' || vmuniq_userid == '' ) {
alert("Request Failed Try Again");
} else {
$.post("<?php echo site_url('user/addvotemate'); ?>", {
csrf_test_name: csrf,
vuniq_userid1: vuniq_userid,
vmuniq_userid1: vmuniq_userid
}, function() {
alert("Message Sent");
$('#votreq')[0].reset(); // To reset form fields
});
}
});
});
</script>
После того, как ясделал это, мой Ajax-скрипт начинает работать правильно.