gpt4 book ai didi

php - 使用 ajax 和 json 将点击的文本发送到 php 并在弹出窗口中取回 php 数据

转载 作者:搜寻专家 更新时间:2023-10-31 20:43:14 24 4
gpt4 key购买 nike

这段代码,如果点击里面的文字div class="example4DOMWindow"将定义的值发送到 php,然后取回 php 数据,并在弹出窗口中显示从 php 接收到的数据。

这是例子 http://jsfiddle.net/rigaconnect/q3RcV/1/

这是发送和接收数据的ajax

$(document).ready(function()
{
var one = $("#first_var").text();
var two = $("#second_var").text();
$.ajax({
type: "POST",
url: '__popup-window_ajax.php',
data: {var1: one, var2: two },
dataType: "json",
success: function(data) {
$('#load').html(data);
}
});
});

这部分代码显示弹出窗口(此处示例http://swip.codylindley.com/DOMWindowDemo.html)

<body>

<div id="first_var" class="example4DOMWindow" style="width: 50px;">text one</div>
<div id="second_var" class="example4DOMWindow" style="width: 50px;">text two</div>

<script type="text/javascript">
$('.example4DOMWindow').openDOMWindow({
eventType:'click',
windowSourceID:'#example4InlineContent',
});

</script>
<div id="example4InlineContent" style="display:none">
<div>
<div id="load"></div>
</div>
</div>

</body>

这是php文件代码

$p_one = $_POST['var1'];
$p_two = $_POST['var2'];
$test = $p_one. '<br>test<br>'. $p_two;
echo json_encode($test);

代码发送到php只有var这是定义的。喜欢var one = $("#first_var").text();所以如果没有 var里面ajax代码,没有发送。并发送所有 var

需要发送代码到php仅单击文本。用户点击 text one , 发送 text one并且不要发送 text two ;点击 text two , 只发送 text two .

在这里https://stackoverflow.com/a/17622947/2360831/http://jsfiddle.net/aGWGn/5/单击的文本作为值传递给 javascript .

试图像这样把所有的东西放在一起

$(document).ready(function(){

document.body.onmousedown = whichElement;
var output = document.getElementById("load")
function whichElement(e) {
e = e || window.event;
var targ = e.target || e.srcElement;
if (targ.nodeType===3) {// defeat Safari bug
targ = targ.parentNode;
}
output.innerHTML = targ.innerHTML;
}
//var one = $("#first_var").text();
var one = targ;
var two = $("#second_var").text();

$.ajax({
type: "POST",
url: '__popup-window_ajax.php',
data: {var1: one, var2: two },
dataType: "json",
success: function(data) {
$('#load').html(data);
}
});
});

但是代码没有通过var one = targ;php文件(var two 也没有通过)。

据我了解,主要问题是如何通过 var targvar output (?) 至 var one ....

不对的地方请指教

更新

已更改 datadata: {var1: output, var2: two },

然后在弹出窗口中看到

[object HTMLDivElement]
test
text two
text two

改为var one = targ.innerHTML;但不起作用....

开始工作的变化

已更改 var output = document.getElementById("load")var output = document.getElementById("load1")

在 html 中添加了 <div id="load1"></div>

并改变了

//var one = $("#first_var").text();
var one = targ;
var two = $("#second_var").text();

var one = $("#load1").text();

现在看来工作了。但是认为代码需要改进

最佳答案

据我了解,您只需要将点击的文本传递给 php,对吗?

如果是这样,从使用 jquery 的那一刻起,您就不需要所有这些代码。您只需将“点击”事件处理程序附加到 .example4DOMWindow 并仅发送被点击的 div 的文本。

index.html:

<body>
<!--
<script src="jquery-2.0.3.js"></script>
<script src="jquery.DOMWindow.js"></script>
-->
<div id="first_var" class="example4DOMWindow">text one</div>
<div id="second_var" class="example4DOMWindow">text two</div>

<div id="example4InlineContent" style="display:none">
<div id="load"></div>
</div>

<script>
$(document).ready(function() {

$('.example4DOMWindow').openDOMWindow({
eventType:'click',
windowSourceID:'#example4InlineContent',
});

$(".example4DOMWindow").on('click', function(event){
$.ajax({
type: 'POST',
url: '__popup-window_ajax.php',
data: { 'clickedText' : $(this).text() },
success: function(data) {
$('#load').html(data);
}
});
});

});
</script>

</body>

__popup-window_ajax.php:

<?php
$var = $_POST['clickedText'];
echo json_encode($var);
?>

关于php - 使用 ajax 和 json 将点击的文本发送到 php 并在弹出窗口中取回 php 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17627716/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com