Я работаю с codeigniter и jquery ajax. У меня есть некоторые несоответствия b/w моего приложения локально на wamp (отлично работает) и мое развернутое приложение (не так много). После того, как можно предложил исправить это преобразовать АЯКС относительных путей в абсолютные для AJAX, так это выглядит:Переменная Javascript не оценивается в проекте codeigniter
url: "YOURBASEPATH/AjaxController/update",
location.href = "YOURBASEPATH/pan_controller/my_detail";
После Convert ajax relative paths to absolute paths with codeigniter я изменил мой код:
В вашем разделе заголовка просто добавьте следующий скрипт ,
<script type="text/javascript">
var BASE_URL = "<?php echo base_url();?>";
</script>
$.ajax({a
type: "POST",
url: BASE_URL+"AjaxController/update",
data:{ i : searchIDs, m : message },
dataType: 'json',
.done(function() {
alert("REFRESHING..");
location.href = BASE_URL+"pan_controller/my_detail";
});
}
})
Я думал, что это будет работать, но по какой-то причине base_url не признается в качестве переменной, и вместо того, чтобы видеть в течение, например:
url: "YOURBASEPATH/AjaxController/update",
Я вижу:
url: BASE_URL+ "/AjaxController/update",
Когда я посмотрите на источник.
Я не вижу ошибок в своем редакторе. Любые идеи, почему это не работает?
редактировать:
case "Set":
var message = $('#send_message').val()
if (searchIDs.length>0){
console.log(BASE_URL+ "Update/update");
$.ajax({
type: "POST",
url: BASE_URL+"Update/update",
data:{ i : searchIDs, m : message },
dataType: 'json',
.done(function() {
alert("REFRESHING..");
location.href = BASE_URL+"pan_controller/detail";
});
})
} else { alert("nothing checked") }
break;
Javascript побежал стороне клиента - просмотреть исходный код показывает вам код, а не его вывод. Попробуйте добавить 'console.log (BASE_URL +"/AjaxController/update ");' или если вы не используете браузер с предупреждением js console (BASE_URL + "/ AjaxController/update"); 'и вы должны увидеть полный URL-адрес – Steve
Я уверен, что 'base_url()' возвращает 'YOURBASEPATH''. Попробуйте посмотреть, что создано этой линией. –
Как сказал @Steve, вы видите, что вы должны видеть в источнике для этой строки. Следуйте его совету, а также посмотрите в исходное место, где вы выполняете эхо PHP и устанавливаете 'BASE_URL'.Это должно показать вам «var BASE_URL =»/YOURBASEPATH »;' – JAAulde