javascript - 在 php 中包含 javascript 文件
问题描述
我有一个 html 文件(index.html),它通过 javascipt 调用一个 php 文件(pdj.php)并将输出填充到 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)在index.html中添加javascipt文件不使用。
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 调用是错误的......你能建议如何解决这个问题吗?
提前致谢
解决方案
你的ajax调用没有错。
1)在index.html中添加javascipt文件不使用。
这里的问题是,当执行 javascript 文件时,它找不到目标,因为尚未执行 ajax 调用,这意味着尚未为spinner.js
.
2) 包含在 pdj.php 中会导致错误 include_once('spinner.js');
这里 include_once 只会将 javascript 文件的内容添加到响应中,这会导致 json 损坏,这就是 ajax 失败的原因,因为 content-typeapplication/json
在你的 ajax 配置中设置为
解决方案是在 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();
}
});
推荐阅读
- ios - Swift 显示应用内购买的促销代码视图没有做任何事情
- amazon-web-services - ElasticBeanstalk eb deploy 命令在 .ebignore Linux 2 上上传虚拟环境文件夹
- javascript - 如何设置是的验证条件?
- ssh - Coral Dev Board Mini - 无法通过 USB 连接,但列出了设备 [Windows]
- r - Can't find RPostgreSQL.so in Mac Big Sur in R
- android - Flutter: display Marker information window upon user's input throws PlatformException
- python - Changing bar-plot
- google-apps-script - 如果选中/取消选中复选框,则应用程序脚本 onEdit 可跨多个工作表添加/清除时间戳
- python - 你能让这个功能更高效吗?谢谢
- javascript - 如何使用 Tampermonkey 填写 Google 表单的下拉列表和文本输入?