Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.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
如何将javascript从外部php文件回显到当前html页面_Javascript_Php - Fatal编程技术网

如何将javascript从外部php文件回显到当前html页面

如何将javascript从外部php文件回显到当前html页面,javascript,php,Javascript,Php,假设我当前正在浏览mypage.html,它的标题中有一个指向以下js文件的链接: <script language="JavaScript" type="text/javascript" src="jsfile.js"></script> 其中search.php的内容如下: <?php if(isset($_POST[searchval])){ $search = $_POST[searchval]; echo "input value

假设我当前正在浏览mypage.html,它的标题中有一个指向以下js文件的链接:

<script language="JavaScript" type="text/javascript" src="jsfile.js"></script>
其中
search.php
的内容如下:

<?php
if(isset($_POST[searchval])){
        $search = $_POST[searchval];
    echo "input value is $search";
    echo "<script type='text/javascript'> alert('its working') </script> ";
}
?>

如何修改search.php以允许它在myfile.html中插入实际的js

首先,您需要修改javascript文件:

$.post( "search.php", { searchval: search }, function(sentdata){
    eval(sentdata);
});
无需javascript标记,只需回显有效的javascript代码:

if(isset($_POST[searchval])){
    echo "alert('its working');";
}
你可以这样做

$.post( "search.php", { searchval: search }, function(data){
    alert(data);  // this will alert the data which will print on search.php
});
在php文件中,像这样回显要打印的数据

if(isset($_POST[searchval])){
    echo 'its working. i got'.$_POST[searchval];
}

您可以在HTML中共享您的输入标记吗?使用
dataType:'jsonp'
选项搜索/检查
jQuery.ajax
。尽管提供了解释,我不太明白为什么第一次修改是必要的。函数(sentdata)的目的不只是在成功执行$.post时返回一些东西吗?@ephemeral您从服务器获得一个字符串。Javascript不知道它是否是代码。您必须执行它,
eval
用于此操作。
if(isset($_POST[searchval])){
    echo 'its working. i got'.$_POST[searchval];
}