Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Ajax json не находит файл лежащий в корне
Форумы портала PHP.SU » » Вопросы новичков » Ajax json не находит файл лежащий в корне

Страниц (2): [1] 2 »
 

1. imedia - 04 Ноября, 2015 - 14:27:09 - перейти к сообщению
Добрый день у меня аякс не находит пхп файл думаю так, дело в том что у меня роутер установлен и все через индекс фурычит, может надо что то в htaccess менять

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $.ajax({
  3.         type: "POST",
  4.         dataType: "json",
  5.         url: "/scripts/get_lang.php",
  6.         data: data,
  7.         success: function(data) {
  8.         alert(data)
  9.         }
  10.         })
  11.  


Файл в папке лежит

PHP:
скопировать код в буфер обмена
  1.  
  2. function index(){
  3. $options='YES';
  4. echo json_encode($options);
  5. }
  6.  

.htaccess
PHP:
скопировать код в буфер обмена
  1.  
  2. RewriteEngine on
  3. RewriteCond %{REQUEST_FILENAME} !-d
  4. RewriteCond %{REQUEST_FILENAME} !-f
  5. RewriteRule ^ index.php [L]
  6. php_value display_errors 1
  7. php_value display_startup_errors 1
  8. php_value error_reporting E_ALL
  9.  
2. Faraon-san - 04 Ноября, 2015 - 14:51:30 - перейти к сообщению
если ввести этот адрес в адресной строке браузера, что выводит?
3. imedia - 04 Ноября, 2015 - 16:32:26 - перейти к сообщению
Faraon-san
все нормально выводит YES

ReferenceError: data is not defined

n.event.dispatch()
n.event.add/r.handle()
4. Viper - 04 Ноября, 2015 - 17:44:30 - перейти к сообщению
imedia
1. dataType: "json" означает что ожидается json-формат данных, но
2.
вернет вам строку, а не объект/массив json.

$.ajax в результате вам ничего не возвращает, т.к. для обработки ошибок вы не указали ни одного обработчика.

PS! Читайте матчасть, а не пишите отсебятину. И научитесь пользоваться консолью браузера!
5. imedia - 04 Ноября, 2015 - 19:34:57 - перейти к сообщению
Viper пишет:
imedia
1. dataType: "json" означает что ожидается json-формат данных, но
2.
вернет вам строку, а не объект/массив json.

$.ajax в результате вам ничего не возвращает, т.к. для обработки ошибок вы не указали ни одного обработчика.

PS! Читайте матчасть, а не пишите отсебятину. И научитесь пользоваться консолью браузера!


да но даже если массив в json я получаю ту же ошибку
6. SAD - 04 Ноября, 2015 - 19:56:02 - перейти к сообщению
дам намек

data: data,
7. IllusionMH - 04 Ноября, 2015 - 20:39:54 - перейти к сообщению

Viper, а с каких пор правильно оформленная строка не является валидным JSON?
http://jsfiddle.net/bhw47ohc/
8. imedia - 04 Ноября, 2015 - 20:45:22 - перейти к сообщению
SAD А что data, мне не важно что примет функция, главное что она возвращает json
9. IllusionMH - 04 Ноября, 2015 - 20:51:30 - перейти к сообщению
imedia, вкладку Network в девтулах открывали? Что там в ответе на запрос?
10. imedia - 04 Ноября, 2015 - 21:01:37 - перейти к сообщению
ReferenceError: data is not defined

n.event.dispatch()
n.event.add/r.handle()

ОНО?
(Добавление)
http://ajax[dot]googleapis[dot]com/ajax/[dot][dot][dot][dot]3/jquery[dot]min[dot]js
304 not modified

есть еще и такое
11. SAD - 04 Ноября, 2015 - 21:16:13 - перейти к сообщению
ReferenceError: data is not defined

вот Вам ошибка. разуйте глаза
12. Viper - 04 Ноября, 2015 - 21:31:24 - перейти к сообщению
IllusionMH пишет:
а с каких пор правильно оформленная строка не является валидным JSON?
с времен говнокода ТС
13. imedia - 04 Ноября, 2015 - 21:39:14 - перейти к сообщению
SAD
да, прозевал, но теперь вопрос в другом
Могу ли я обратится к класу php аяксом

к примеру я хочу сделать так
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. var dat=1;
  3. $.ajax({
  4.         type: "POST",
  5.         dataType: "json",
  6.         url: "/scripts/get_lang.php/",
  7.         data: dat,
  8.         success: function(data) {
  9.         alert(data)
  10.         }
  11.         })
  12.  

get_lang.php
PHP:
скопировать код в буфер обмена
  1.  
  2. class Get_lang extends Main{
  3. $options=array('1'=>'YES');
  4. echo json_encode($options);
  5. }
  6.  


Так ответ 200 но объекта нет уже в success
14. SAD - 04 Ноября, 2015 - 21:52:27 - перейти к сообщению
опишите паблик метод в классе. и укажите его в урле
15. imedia - 04 Ноября, 2015 - 22:14:33 - перейти к сообщению
так и сделал

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. ar dat=1;
  3. $.ajax({
  4.         type: "POST",
  5.         dataType: "json",
  6.         url: "/scripts/get_lang.php/index",
  7.         data: dat,
  8.         success: function(data) {
  9.         alert(data)
  10.         }
  11.         })
  12.  

/scripts/get_lang.php
PHP:
скопировать код в буфер обмена
  1.  
  2. require ('Main.php');
  3.  
  4. class Get_lang extends Main{
  5.  
  6. public function index(){
  7. $options=array('1'=>'YES');
  8. echo json_encode($options);
  9.  
  10. }
  11. }
  12.  


Не получаю объект хотя ответ 200 Responce Loading....

 

Powered by ExBB FM 1.0 RC1