php中包含的javascript在服务器上不起作用,但在本地托管时起作用
因此,我有一个带有method=“POST”enctype=“multipart/formdata”的表单页面,并将我的操作设置为这个php文件。在这个php文件中,我将php代码封装在标记中,然后将javascript代码封装在php之后的标记中。我想要它,这样当我提交表单时,php和javascript代码都会运行。当我把它放在本地计算机上时,它工作得很好。但是,它似乎无法在我需要承载它的服务器上工作。我在javascript代码的第一行添加了一个alert(),但它没有运行。有人知道为什么会发生这种情况/我调试这种情况的方法吗? 非常感谢 (我不认为这很重要,但另外表单正在提交到iframe中,以防止页面更改) -D 用于提交表单的jQuery:php中包含的javascript在服务器上不起作用,但在本地托管时起作用,php,javascript,forms,Php,Javascript,Forms,因此,我有一个带有method=“POST”enctype=“multipart/formdata”的表单页面,并将我的操作设置为这个php文件。在这个php文件中,我将php代码封装在标记中,然后将javascript代码封装在php之后的标记中。我想要它,这样当我提交表单时,php和javascript代码都会运行。当我把它放在本地计算机上时,它工作得很好。但是,它似乎无法在我需要承载它的服务器上工作。我在javascript代码的第一行添加了一个alert(),但它没有运行。有人知道为什么
$("#saved_form").submit(function(e)
{
e.preventDefault();
this.submit();
... }
下面是php/javascript代码:
<?php
include 'readFile2.php';
readText();
?>
<script type='text/javascript'>
alert("oh no");
var errors = "<?= $_POST['error'] ?>";
parent.window.saveLoad = 0;
//checks if text file is entered
if (errors == 1)
{
alert("Please enter a text file");
}
else if (errors == 2)
{
alert("File must be text");
}
else
{
parent.window.saveLoad = 1;
parent.window.saved_form = <?php echo json_encode($savedForm); ?>;
}
</script>
警惕(“哦不”);
var误差=”;
parent.window.saveLoad=0;
//检查是否输入了文本文件
如果(错误==1)
{
警报(“请输入文本文件”);
}
else if(错误==2)
{
警报(“文件必须为文本”);
}
其他的
{
parent.window.saveLoad=1;
parent.window.saved_form=;
}
对php页面进行Ajax调用更合适
例如:
$('#submitbtn).click(function(event){
event.preventDefault();
$.ajax({
url: "readFile2.php",
timeout: 30000,
type: "POST",
data: $('#saved_form').serialize(),
dataType: 'json',
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert("An error has occurred making the request: " + errorThrown)
},
success: function(data){
alert('it works. You can do more on success of submit here');
}
});
});
总之,上面的代码对一个名为“readFile2.php”的文件进行了ajax调用,它从表单中发布序列化数据(本质上是HTML表单submit的javascript版本,将POST参数上的值传递给php文件),它期望返回json数据(可以更改为文本、HTML等)并发出警报“它起作用了。。。“关于这一职位的成功。PHP文件必须接受发布的数据,对其进行处理,并将您想要返回的内容回显到文件中。我更喜欢发送一个提交状态的json字符串,这样我就可以告诉我的接口是否有失败的检查,以防止坏数据进入数据库。您的表单提交上有服务器端保护…对吗 你有我们可以看到的代码吗?检查浏览器的javascript控制台是否有错误?缺少文件、路径错误等。。。所有这些都可能导致代码无法执行。您是否尝试过在服务器中使用对PHP文件的AJAX调用,而不是将PHP文件用作表单操作?您知道javascript通常在客户端上执行,而PHP在服务器上执行?这只是一个猜测(由于缺少代码):localhost支持此功能,谢谢。不过,还是有点困惑。如果我只想读取用户上传的文本文件,并使用input type=file将字符串返回到javascript,那么PHP文件的POST参数是什么?