включить javascript файл в php - PullRequest
0 голосов
/ 16 июня 2020

У меня есть файл html (index. html), который вызывает файл php (pdj. php) через javascipt и заполняет вывод в div (pdj). Это работает.

$.ajax({
     url: '../command/pdj.php', 
     type: "POST",
     data: ({xparam: xparam}),
     success: function(data){
         var arraydata = $.parseJSON(data);          
      $("#pdj").html(arraydata[0]); 
     }
});  

Для работы файла php требуется файл javascript (spinner. js).

1) Добавление файла javascipt в индекс. html не использует его.

2) Включение в pdj. php вызывает ошибку include_once ('spinner. js' );

Uncaught SyntaxError: Unexpected token / in JSON at position 1
    at Function.parse [as parseJSON] (<anonymous>)
    at Object.success (pdj.js:40)
    at fire (jquery-3.3.1.js:3268)

Я предполагаю, что мой ajax вызов неправильный ... Можете ли вы предложить, как это исправить?

Заранее спасибо

1 Ответ

1 голос
/ 16 июня 2020

Ваш ajax вызов не является неправильным.

1) Добавление файла javascipt в индекс. html не использует его.

Проблема здесь что при выполнении файла javascript он не может найти цель, потому что вызов ajax еще не выполнен, что означает, что объект DOM еще не создан для spinner.js.

2) Включение в pdj. php вызывает ошибку include_once ('spinner. js');

Здесь include_once просто добавит содержимое файла javascript в ответ, и это приведет к сломанный json, и поэтому ajax не работает, потому что тип содержимого установлен на application/json в вас ajax config

Решение состоит в том, чтобы вызвать функцию spinner.js на ajax обработчик успеха.

Если вы можете предоставить счетчик. js в качестве ссылки, это будет лучше для ответа.

$.ajax({
     url: '../command/pdj.php', 
     type: "POST",
     data: ({xparam: xparam}),
     success: function(data){
         var arraydata = $.parseJSON(data);          
         $("#pdj").html(arraydata[0]); 
         $("input[type='number']").inputSpinner();
     }
});  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...