gpt4 book ai didi

javascript - Jquery调用PHP进行处理?

转载 作者:行者123 更新时间:2023-12-02 17:54:49 26 4
gpt4 key购买 nike

我正在尝试比较 2 个文本区域的值,当您单击比较按钮时,输出将显示在 3 个文本区域中。所以我想要发生的是,当单击按钮时有两个输入,PHP 文件对它们进行比较并将结果返回到第三个文本区域。我怎样才能做到这一点?下面是我的代码,这是 jsfiddle : http://jsfiddle.net/jVxhp/

索引页

<html>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
$(document).ready(function() {

$('#Compare').click(function(e) {
e.preventDefault();
$.ajax({
type: 'POST',
url: 'Corrections.php',
data: {var1:address, var2:res},
success: function(data)
{
$var1 = $_POST['var1'];
$var2 = $_POST['var2'];
document.getElementById('address').value;
document.getElementById('res').value;
document.getElementById('cor').value='Corrections.php';
}
});
});
});
</script>

<textarea type="text" id="address"
onfocus="if(this.value===this.defaultValue)this.value=''" onblur="if(this.value==='')this.value=this.defaultValue"
>Input1</textarea>


<textarea type="text" id="res" onfocus="if(this.value===this.defaultValue)this.value=''" onblur="if(this.value==='')this.value=this.defaultValue"
>Input2</textarea>

<textarea type="text" id="cor" style="color: silver" disabled>
Output</textarea>

<div id="btn1"><input type="button" value="Compare" onClick="valbtn()"></input></div>

更正.php

<?php
$str1 = address;//address is textarea1 that holds one of the values to be compared
$str2 = res;//res is textarea2 were textarea1 will be compared
$tempArr;
$var2;
$ctr=0;

echo "Input:<br> $str1 <br><br>Output:<br> $str2";

$strarr = (explode(" ",$str1));
echo("<br>");

$strarr2 = (explode(" ",$str2));
echo("<br>");

if(sizeof($strarr) > sizeof($strarr2)){
$result = array_diff($strarr,$strarr2);
}else{
$result = array_diff($strarr2,$strarr);
}

if (count($result) > 0){
echo "Added:<br> | " ;
foreach ($result AS $result){
echo $result." | ";
}
}

echo "<br>";

for($i=0;$i<count($strarr);$i++) {
if (strcasecmp($strarr[$i], $strarr2[$i]) != 0)
{
$var[$ctr] = strcasecmp($strarr[$i], $strarr2[$i]);
$var2[$ctr] = $i;
$ctr +=1;
}
}

$tempArr = preg_grep('/[0-9]/',$var);

echo"<br>Changes: <br>";
for($i=0;$i<count($var);$i++) {


echo $strarr[$var2[$i]] . ' is changed to ' . $strarr2[$var2[$i]] . '<br>';
}

最佳答案

您的 AJAX 调用不正确。

data 参数是您的 php 文件打印的内容。而且成功时也不能写$_POST,那是JS代码,不是PHP。

您的 AJAX 调用应如下所示:

$('#Compare').click(function(e) {
e.preventDefault();
$.ajax({
type: 'POST',
url: 'Corrections.php',
data: {var1:$('#address').val(), var2:$('#res').val()},
success: function(data)
{

document.getElementById('cor').value=data;
}
});
});

PHP 代码应如下所示:

<?php
$str1 = $_POST['var1'];//address is textarea1 that holds one of the values to be compared
$str2 = $_POST['var2'];//res is textarea2 were textarea1 will be compared

var1var2 是您在 AJAX 调用中调用参数的方式

data: {var1:$('#address').val(), var2:$('#res').val()},

注意:我没有检查 Compare.php 文件,因为我认为您的比较引擎没有问题。

关于javascript - Jquery调用PHP进行处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21040776/

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