根据PHP输出更改Javascript src

时间:2015-02-19 04:47:47

标签: javascript php html ajax xml

如何更改foo.html中的Javascript src以响应通过AJAX从cond1.php创建的输出?例如,如果cond1.php回显1然后src="something.js"

我想知道这一点,因为在我的实际项目中,我将使用Google Books API,我将需要使用不同的src,具体取决于PHP文件的输出。

foo.html



<!DOCTYPE html>
<html>  
  <body>
	<!-- Input -->
    <div class="form">
      <form onsubmit="makeRequest(); return false">
        <input type="text" id="inputText" name="inputText">
        <input type="submit">
      </form>
    </div>
	
    <br>
    
    <!-- Output -->
    <div class="txtBox">
      <textarea  id="txtBox">
      </textarea>
    </div>
    
    <!-- AJAX to create output using cond1.php file-->
    <script>
        function makeRequest() {
            httpRequest = new XMLHttpRequest();            
            httpRequest.onreadystatechange = function() {               
                document.getElementById("txtBox").innerHTML = httpRequest.responseText;
            };
            httpRequest.open("POST", "cond1.php", true);
            httpRequest.setRequestHeader("Content-type","application/x-www-form-urlencoded");
            httpRequest.send("inputText=" + document.getElementById("inputText").value);
        }

    </script>
    <script src=""></script>
  </body>
</html>
&#13;
&#13;
&#13;

cond1.php

&#13;
&#13;
<?php
$input = $_POST["inputText"];

if ($input == "") {
    echo "0";
} else {
    echo "1";
}
?>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:0)

查看jQuery的getScript方法,这将允许您通过ajax动态和有条件地加载JavaScript。

答案 1 :(得分:0)

您可以在DOM中动态创建脚本标记,并使用ajax响应设置它的src。

httpRequest.onreadystatechange = function() {               
  document.getElementById("txtBox").innerHTML = httpRequest.responseText;
  var scriptElem = document.createElement("script");
  scriptElem.src = httpRequest.responseText;
  document.getElementsByTagName("head")[0].appendChild(scriptElem)
};

检查这是否适合您。