在javascript脚本中执行php脚本

时间:2015-05-29 13:08:10

标签: javascript php

我使用Javascript时遇到了问题(因为我对这种语言很新)

我的问题是:我有一个Javascript脚本,当您单击按钮时会添加表单字段,并通过递增来更改其名称。 然后将数据存储到数组中。当我保存这些填充的字段时,我需要将它们恢复并显示为<input type="text" value="<?php $myvalue[] ?>"/>。问题是,我需要在javascript文件中进行操作,而且我不知道如何将内容解释为PHP脚本。

以下是我尝试的内容:

var counter = 1;
var limit = 10;
var new_div = '<?php echo json_encode($arraySpecialite['+ counter +']); ?>';
function addInput(divName){
if (counter == limit)  {
      alert('You cannot add more than' + counter + ' fields');
 }
 else {
      var newdiv = document.createElement('div');
      newdiv.innerHTML = 'Specialité ' + (counter + 1) + ' <br><input type="text" name="specialite[]" id="specialite[]"" value="'+ new_div +'">';
      document.getElementById(divName).appendChild(newdiv);
      counter++;
 }
}

提前感谢。

2 个答案:

答案 0 :(得分:1)

当您向服务器提交HTTP请求(Fetch,POST,GET等)时,服务器会读取您的服务器脚本并采取相应的行动,但是使用javascript,您的Web浏览器就是行动者。如果您希望脚本正常工作,则需要执行以下操作。

  1. 编写独立的PHP脚本(自己的文件)。

  2. 使用Javascript向PHP脚本提交HTTP请求(您可以发送任何内容)。

  3. 从PHP文件中访问响应并执行任何操作。

答案 1 :(得分:1)

你可以做不同的事情:

在返回初始视图的PHP中,返回包含将保存数据的javascript的响应。

例如:

<script>
    var new_div = '<?php echo json_encode(array(1,2,3)); ?>'
</script>

因此,如果您的javascript在同一范围内运行,或者在内部范围内运行,则可以访问该变量。

发出AJAX请求并从服务器读取响应

xmlhttp.onreadystatechange=function() {
    if (xmlhttp.readyState==4 && xmlhttp.status==200) {
        console.log(xmlhttp.responseText);
    }
}
xmlhttp.open("POST","myscript.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("name=Shikaka&lastname=Ventura");

当myscript.php收到请求时使用它(确保你转义值)然后返回一个响应

<?php 
    echo json_encode(array(1,2,3));