如何更改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;
cond1.php
<?php
$input = $_POST["inputText"];
if ($input == "") {
echo "0";
} else {
echo "1";
}
?>
&#13;
答案 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)
};
检查这是否适合您。