Javascript Jquery调用PHP响应失败
我有两个文件,一个php和一个html,html文件作为用户界面,用户在其中输入查询,php文件作为过程或事件发生的地方,然后返回html文件进行输出。据我的朋友说,最好的链接方式是使用jquery或ajax,我不太确定。我试着用这个代码把他们联系起来,但是没有用。如果你能帮我找到我的错误,我将非常感激 HTML文件Javascript Jquery调用PHP响应失败,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,我有两个文件,一个php和一个html,html文件作为用户界面,用户在其中输入查询,php文件作为过程或事件发生的地方,然后返回html文件进行输出。据我的朋友说,最好的链接方式是使用jquery或ajax,我不太确定。我试着用这个代码把他们联系起来,但是没有用。如果你能帮我找到我的错误,我将非常感激 HTML文件 <script src="http://code.jquery.com/jquery-1.10.1.min.js"></script> <script
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$('#setVal').on('click', function () {
var form = $('.buildaddress').not('#formatted_address');
var vals = form.map(function () {
var value = $.trim(this.value);
return value ? value : undefined;
}).get();
$('#formatted_address').val(vals.join(', '));
</script>
$(文档).ready(函数(){
$('#setVal')。在('click',函数(){
var form=$('.buildaddress')。而不是('#格式化的_地址');
var vals=form.map(函数(){
var值=$.trim(此.value);
返回值?值:未定义;
}).get();
$(“#格式化的_地址”).val(vals.join(“,”);
当我添加此部分时,链接不起作用
<script>
$('#Compare').click(function(e) {
e.preventDefault();
var address = $('#address').val();
var formatted_address = $('#formatted_address').val();
console.log(address);
console.log(formatted_address);
$.ajax({
type: 'POST',
url: 'Corrections.php',
data: {
var1: address,
var2: formatted_address
},
success: function(data) {
document.getElementById('cor').value = data;
}
});
});
});
</script>
$(“#比较”)。单击(函数(e){
e、 预防默认值();
var address=$('#address').val();
var formatted_address=$('#formatted_address').val();
控制台日志(地址);
console.log(格式化的_地址);
$.ajax({
键入:“POST”,
url:'Corrections.php',
数据:{
var1:地址,
var2:格式化的\u地址
},
成功:功能(数据){
document.getElementById('cor')。值=数据;
}
});
});
});
PHP文件
<?php
$str1 = $_POST['var1'];
$str2 = $_POST['var2'];
$tempArr;
$var2;
$ctr=0;
echo "Input: $str1\n";
echo "Output: $str2\n";
?>
您有一个额外的})代码>在脚本中。只需删除额外的})代码>在第二个脚本中,代码将正常工作
<script>
$('#Compare').click(function(e) {
e.preventDefault();
var address = $('#address').val();
var formatted_address = $('#formatted_address').val();
console.log(address);
console.log(formatted_address);
$.ajax({
type: 'POST',
url: 'Corrections.php',
data: {
var1: address,
var2: formatted_address
},
success: function(data) {
document.getElementById('cor').value = data;
}
});
});
//}); should be removed
</script>
$(“#比较”)。单击(函数(e){
e、 预防默认值();
var address=$('#address').val();
var formatted_address=$('#formatted_address').val();
控制台日志(地址);
console.log(格式化的_地址);
$.ajax({
键入:“POST”,
url:'Corrections.php',
数据:{
var1:地址,
var2:格式化的\u地址
},
成功:功能(数据){
document.getElementById('cor')。值=数据;
}
});
});
//}); 应该删除
尝试在浏览器中使用控制台。我个人喜欢firefox的firebug。它应该向您显示ajax请求发出的情况以及它返回的响应类型(如果有的话)。正确缩进代码(您几乎做到了)应该有助于发现此类问题。并使用控制台,以及建议!这也是一个错误,但它仍然无法工作tnx指向它out@user3046019可能是ajax调用返回错误,请尝试添加错误函数
并检查。请注意,如果ajax调用php,那么它将被视为成功。您的php代码中有错误,只需在成功中尝试alert(data)
,并检查响应包含的内容