Php AJAX不返回整个脚本
我正在尝试使用AJAX加载脚本,其中包含以下内容:Php AJAX不返回整个脚本,php,jquery,ajax,lazy-loading,getscript,Php,Jquery,Ajax,Lazy Loading,Getscript,我正在尝试使用AJAX加载脚本,其中包含以下内容: $.ajax({ type: 'POST', async: false, url: ROOT + 'Ajax', data: { call: 'this->loadJs', script: 'Activity2/js/buying.js' }, dataType: "script", success: function(data) { alert(
$.ajax({
type: 'POST',
async: false,
url: ROOT + 'Ajax',
data: {
call: 'this->loadJs',
script: 'Activity2/js/buying.js'
},
dataType: "script",
success: function(data) {
alert('test')
}
})
但是我一直得到parseerror
。查看响应后,我可以看到脚本仅部分加载
我认为这与我的loadJs方法(PHP)中的filesize
有关,定义如下:
public function loadJs($script) // For our new $.getScript stuff.
{
$fh = fopen(WROOT . Vs . $script, 'r');
$contents = fread($fh, filesize(Vs . $script));
header('Content-Type: application/javascript');
return $contents;
}
但是文件大小是正确的,所以我迷路了
是什么导致ajax仅部分加载我的脚本
顺便说一句,以下方法可行,但我不想使用它,因为它暴露了我太多的信息:
$.ajax({
url: 'http://www.view.com/public_html/views/Activity2/js/buying.js',
dataType: "script",
success: function(){
alert('test')
}
});
使用ajax调用执行此操作有什么原因吗<代码>$。getScript()专门用于加载脚本@Archer,因为它暴露了我太多的路径。
内容类型:text/javascript
?@mikakun它仍然在中途切断了脚本:(我不知道如何使用$。ajax
暴露了任何额外的内容?您上传的所有代码都是免费的。
public function loadJs($script) // For our new $.getScript stuff.
{
header('Content-Type: text/javascript');
echo file_get_contents(WROOT . Vs . $script);
}