为什么php不能用了,为什么我的标签不能用于php文件? (jQuery也参与其中)

这是我想要完成的.我有一个使用jQuery对

PHP文件进行AJAX调用的表单. PHP文件与数据库交互,然后创建页面内容以作为AJAX响应返回;即,此页面内容将写入$.ajax调用的成功函数中的新窗口.作为PHP文件返回的页面内容的一部分,我有一个简单的HTML脚本标记,其中包含一个

JavaScript文件.特别:

这不是在PHP中回应(虽然我已经尝试过),它只是html. pageControl.js与生成内容的php文件位于同一目录中.

无论我尝试什么,我似乎都无法获得包含的pageControl.js文件,或者在为响应AJAX调用成功而创建的新窗口中工作.我最终得到像“预期的对象”或未定义的变量之类的错误,这让我相信文件没有包含在内.如果我将JavaScript直接复制到PHP文件中,而不是将脚本标记与src一起使用,我可以使它工作.

这里有关于调用文件,php和jQuery AJAX之间的范围解析的东西吗?我将来希望以这种方式包含javascript文件,并希望了解我做错了什么.

再次问好:

我已经解决了这个问题,但仍然没有运气.我将尝试澄清我在做什么,也许这会带来一些想法.我根据要求提供了一些代码,以帮助澄清一些事情.

这是序列:

>用户选择一些选项,然后单击表单上的提交按钮.

>单击表单按钮由jQuery代码处理,如下所示:

$(document).ready(function() {

$("#runReport").click(function() {

var report = $("#report").val();

var program = $("#program").val();

var session = $("#session").val();

var students = $("#students").val();

var dataString = 'report=' +report+

'&program=' +program+

'&session=' +session+

'&students=' +students;

$.ajax({

type: "POST",

url: "process_report_request.php",

cache: false,

data: dataString,

success: function(pageContent) {

if (pageContent) {

$("#result_msg").addClass("successMsg")

.text("Report created.");

var windowFeatures = "width=800,menubar=yes,scrollbars=1,resizable=1,status=yes";

// open a new report window

var reportWindow = window.open("", "newReportWindow", windowFeatures);

// add the report data itself returned from the AJAX call

reportWindow.document.write(pageContent);

reportWindow.document.close();

}

else {

$("#result_msg").addClass("failedMsg")

.text("Report creation failed.");

}

}

}); // end ajax call

// return false from click function to prevent normal submit handling

return false;

}); // end click call

}); // end ready call

此代码对PHP文件(process_report_request.php)执行AJAX调用,该文件为新窗口创建页面内容.此内容取自数据库和HTML.在PHP文件中,我想在新窗口中使用javascript包含另一个javascript文件.我想把它包括如下

更改路径文件夹名称以保护无辜:)

pageControl.js文件实际上与jQuery代码文件和php文件位于同一文件夹中,但我正在尝试完整路径只是为了安全.我也可以使用浏览器中的URL访问js文件,我可以使用脚本src标记将其成功包含在静态html测试页面中.

在javascript文件包含在php文件中之后,我调用了它的一个函数,如下所示(来自php的echo):

echo '';

因此,一旦php文件将所有页面内容发送回AJAX调用,则打开新窗口,并通过上面的jQuery代码将返回的内容写入其中.

当我运行页面时,writePageControls行是我收到错误“Error:Object expected”的地方.但是,由于JavaScript在静态HTML页面中工作正常,并且在PHP文件中包含“内联”时,它使我认为这是某种路径问题.

同样,无论我尝试什么,我对pageControls.js文件中的函数的调用都不起作用.如果我将pageControl.js文件的内容放在脚本标记之间的php文件中并且不做任何其他更改,它会按预期工作.

根据你们有些人已经说过的话,我想知道新打开的窗口的路径分辨率是否不正确.但我不明白为什么因为我正在使用完整的路径.另外,为了使问题更加混乱,我的链接样式表在PHP文件中运行得很好.

抱歉这是多久,但如果有人有时间进一步研究这个问题,我将非常感激.我很难过.当涉及到很多这方面的时候我是新手,所以如果有更好的方法来做到这一点并避免这个问题,我全都是耳朵(或者我认为是眼睛……)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值