在php中包含javascript文件

在php中包含javascript文件,javascript,php,ajax,Javascript,Php,Ajax,我有一个html fileindex.html,它通过javascipt调用一个php filepdj.php,并将输出填充到一个divpdj中。这很有效 $.ajax({ url: '../command/pdj.php', type: "POST", data: ({xparam: xparam}), success: function(data){ var arraydata = $.parseJSON(data);

我有一个html fileindex.html,它通过javascipt调用一个php filepdj.php,并将输出填充到一个divpdj中。这很有效

$.ajax({
     url: '../command/pdj.php', 
     type: "POST",
     data: ({xparam: xparam}),
     success: function(data){
         var arraydata = $.parseJSON(data);          
      $("#pdj").html(arraydata[0]); 
     }
});  
php文件需要一个javascript filespinner.js才能工作

1在index.html中添加javascipt文件不会使用它

2包含在pdj.php中会导致错误 包括_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调用是错误的。。。你能建议如何解决这个问题吗


提前感谢

您的ajax呼叫没有错

1在index.html中添加javascipt文件不会使用它

这里的问题是,当执行javascript文件时,它找不到目标,因为ajax调用尚未执行,这意味着尚未为spinner.js创建DOM对象

2包含在pdj.php中会导致错误include_once'spinner.js'

这里include_once只会将javascript文件的内容添加到响应中,这会导致json被破坏,这就是ajax失败的原因,因为内容类型在ajax配置中设置为application/json

解决方案是在ajax成功处理程序上调用spinner.js函数

如果您可以提供spinner.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();
     }
});  

在您的ajax调用中添加datatype:application/json怎么样?包含和包含是为了读取和评估php代码,而不是javascript!谢谢你的回答。。。js可以在这里找到[link]我有一个javascript代码,它调用主文件:$input[type='number'].inputSpinner;是的,在ajax调用成功句柄上调用此函数我尝试过,但得到一个错误“$.ajax{url:'../command/pdj.php”,类型:POST,数据:{xparam:xparam},成功:functiondata{$.getScript../js/bootstrap-input-spinner.js;var arraydata=$.parseJSONdata;$pdj.htmlaraydata[0];}};'$input[type='number'].inputSpinner;error=:Uncaught TypeError:$..inputSpinner不是一个函数格式化看起来很糟糕..但我在ajax中成功添加了一行..行是“$.getScript../js/bootstrap input spinner.js;”,但它不起作用。