Javascript ajax—将(通过url)调用的.php放在主页内
如何将(通过url)调用的.php页面放在主页内,以便保留所有动态变量。在我的示例中,找不到$variable1path,因为它是在具有ajax函数的主页面上动态定义的 为了更好地理解我的剧本Javascript ajax—将(通过url)调用的.php放在主页内,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,如何将(通过url)调用的.php页面放在主页内,以便保留所有动态变量。在我的示例中,找不到$variable1path,因为它是在具有ajax函数的主页面上动态定义的 为了更好地理解我的剧本 <script> $(document).on("click", "#div", function(e){ e.preventDefault(); var textdata = $('#demo').val();
<script>
$(document).on("click", "#div", function(e){
e.preventDefault();
var textdata = $('#demo').val();
mydata= 'testdata='+textdata;
$.ajax({
type:'POST',
data:mydata,
url:'external.php',
success:function(data) {
if(data){
alert('OK');
$("#demo").html(data);
}else{
alert('Not OK');
}
}
});
});
</script>
$(文件)。在(单击)上,函数(e){
e、 预防默认值();
var textdata=$('#demo').val();
mydata='testdata='+textdata;
$.ajax({
类型:'POST',
数据:mydata,
url:'external.php',
成功:函数(数据){
如果(数据){
警报(“正常”);
$(“#demo”).html(数据);
}否则{
警报(“不正常”);
}
}
});
});
还有我的external.php
<?php
$data_to_write = $_POST['testdata'];
$file_path = '$variable1path.txt'; //$variable1path is defined on my main page
$file_handle = fopen($file_path, 'w');
fwrite($file_handle, $data_to_write);
fclose($file_handle);
$myfile = fopen('$variable1path.txt', 'r'); //$variable1path is defined on my main page
while(!feof($myfile)) {
echo fgets($myfile);
}
fclose($myfile);
?>
如果调用页面中定义了
$variable1path
,请将其发送到AJAX请求中包含的数据中:
$(文档)。在(“单击”上,“div”,函数(e){
e、 预防默认值();
$.ajax({
键入:“POST”,
数据:{
testdata:$('#demo').val(),
变量1路径:“”
},
url:'external.php',
成功:功能(数据){
如果(数据){
console.log('OK');
$(“#demo”).html(数据);
}否则{
console.log('notok');
}
}
});
});
然后在PHP中,您可以通过$\u POST
检索值:
<?php
$data_to_write = $_POST['testdata'];
$variable1path = $_POST['variable1path'];
// your php logic here...
?>
如果调用页面中定义了$variablepath
,请将其发送到AJAX请求中包含的数据中。好的,我会这样做。谢谢提示=)嘿,Rory,你的方法和我的代码都没有成功。。。如果您有其他想法,请分享;)。thxSure,我添加了它作为一个答案,让您能够清楚地了解您需要做的事情。不variable1path:对我来说,JS中的单引号集看起来更整洁,但两者都可以。我花时间是因为我在同一时间学习,所以我想理解每一行。非常感谢您抽出时间!太好了!祝你有愉快的一天!你对我的一天影响很大!=)没问题,很乐意帮忙:)