我正在尝试调用AJAX查询,最近遇到了很多问题。我试图调用我自己定制的api
,当url api/reverse/test
-tset
(只是使用php函数来反转slug3中给出的文本)时,它会显示这一点。
该功能运行良好,只是想对请求的内容进行一些反馈。
reverse.php-HTML文件
<textarea id="input"></textarea>
<div id="output">
</div>
index.js-我所有的jQuery和AJAX
$(document).ready(function(){
var $input = $('#input');
var $output = $('#output');
$input.on('keyup', function(){
var text = $input.val();
var url = 'http://coder.jekoder.com/api/?area=reverse&text='+text;
$.ajax({
type: 'GET',
url: url,
dataType: 'text',
success: function(data) { var output = data; },
error: alert('fail')
}) // End of AJAX
$output.html = output;
});
});
api.php-被称为的php文件
<?php
$area = $_GET['area'];
if ($area == 'reverse') {
if (isset($_GET['text']) ) $text = $_GET['text'];
else $text = 'Hello';
echo strrev($text);
}
然后,它应该获取output
变量并将其显示在div中,但这并不是最重要的事情。
错误已删除-正在尝试查看是否已修复
我发现了几个问题:
Jquery:
var text = $('#input').val(); // if you are getting value from any inputbox - get value using .val() function
var url = 'http://localhost/test.php?data='+text; // pass data like this ?data='+text
// AJAX START
$.ajax({
type: 'GET',
url: url,
dataType: 'text',
async: true,
success: function(data) { var output = data; alert(output)},
error: function(data) { alert('fail') }
});
在php中,你可以得到这样的数据:
echo $_GET['data'];
exit;
试试这个。变量output
的作用域在success调用中,您在ajax调用之外使用它。
$(document).ready(function()
{
var $input = $('#input');
var $output = $('#output');
$input.on('keyup', function()
{
var text = $input.val();
var url = 'http://coder.jekoder.com/api/?area=reverse&text='+text;
$.ajax({
type: 'GET',
url: url,
dataType: 'text',
success: function(data) { var output = data; $output.html = output;},
error: alert('fail')
}) // End of AJAX
});
});