Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何嵌入&;将javascript执行为html?_Php_Javascript_Jquery_Ajax - Fatal编程技术网

Php 如何嵌入&;将javascript执行为html?

Php 如何嵌入&;将javascript执行为html?,php,javascript,jquery,ajax,Php,Javascript,Jquery,Ajax,index.html <script> function check() { var id = $('input[name=id]').val(); $("#result").load("/ajax.php", {id:id}); } </script> <input type="text" size="3" name="id"><br /> <button onclick="check();

index.html

<script>
function check() {
        var id = $('input[name=id]').val();
        $("#result").load("/ajax.php", {id:id});        
}
</script>

<input type="text" size="3" name="id"><br />
<button onclick="check();">Pay</button>
<div id="result"></div>

函数检查(){
var id=$('input[name=id]')。val();
$(“#result”).load(“/ajax.php”,{id:id});
}

支付
ajax.php

<?php
$id = (int)$_REQUEST['id'];
//some validations and SQL executions
echo "<script language=JavaScript src='https://*****/index.php?id=$id&invoice=$invoice&sum=$sum.......etc'></script>";
尝试使用:

试试这个:-

"<script language=JavaScript src='https://*****/index.php?id="'.$id.'"&invoice="'.$invoice.'"&sum="'.$sum.'".......etc'></script>";
”;
试试这个。。
$('#result').load('ajax.php')

在php文件ajax.php中包含标题

header('Content-Type: text/javascript');
并在index.html中将type=“text/javascript”添加到脚本标记中

<script type=”text/javascript”>
        function check() {
           var id = $('input[name=id]').val();
           $("#result").load("/ajax.php", {id:id});        
         }
   </script>

函数检查(){
var id=$('input[name=id]')。val();
$(“#result”).load(“/ajax.php”,{id:id});
}

为什么不使用AJAX直接加载脚本URL? php只应返回脚本的路径:

 $id = (int)$_REQUEST['id'];
 //some validations and SQL executions
 echo "https://*****/index.php?id=$id&invoice=$invoice&sum=$sum.......etc";
此外,所有HTML元素属性都应该用引号或撇号括起来

然后,您应该在javascript中加载此url并在此处生成脚本元素:

   function loadScript(url,appendTo) {
     var script = document.createElement("script")
     script.type = "text/javascript";
     script.src = url;
     if(typeof appendTo.appendChild == "function")     //Chceking if we can append script to given element
       appendTo.appendChild(script); 
     else
       document.body.appendChild(script)       //This will not work in old IE, where document.body is not defined. 
   }
您可以使用脚本url和可选的目标元素(将放入其中)作为参数来调用此函数。 像这样:

  $.get("ajax.php",{param1:"value"},function(scriptUrl) {loadScript(scriptUrl, document.getElementById("result");})

您必须将脚本作为真实脚本元素加载。在这种情况下,
“/*…*/”
的DOM转换可能会失败。这是通过标准DOM
document.createElement
函数完成的

var script = document.createElement("script");
script.src = path;

另一种方法是通过AJAX下载脚本,然后eval它。

您的脚本标记不应该包含有效的js文件吗…,您似乎使用php文件作为脚本标记的源…?老实说,您所做的有点奇怪。但如果您想通过URL将脚本加载到加载的文档中,则不必通过ajax发送整个标记。只需发送URL并在客户端生成标记。我需要将POST数据发送到PHPscript@user1312750-
jQuery.load
支持以POST方式发送数据。因为ajax.php返回HTML(
var script = document.createElement("script");
script.src = path;