使用PHP的Echo jQuery循环
在搜索了很长一段时间后,我决定在这里问一下,因为我发现的东西要么不起作用(要么我无法让它们起作用;)——要么要求我更改服务器上的东西,这是我想要避免的 我希望下面的函数在每个结果之后显示输出,这样就不必首先加载函数,这需要很长时间。正如您在下面所看到的,我的想法是使用jQuery(1.8.2)来尝试这一点 它不起作用,我就是不能让它起作用。有更好的方法吗?我是不是在什么地方犯了一个错误,导致它不起作用 如果您需要更多信息,请询问使用PHP的Echo jQuery循环,php,jquery,post,loops,jquery-post,Php,Jquery,Post,Loops,Jquery Post,在搜索了很长一段时间后,我决定在这里问一下,因为我发现的东西要么不起作用(要么我无法让它们起作用;)——要么要求我更改服务器上的东西,这是我想要避免的 我希望下面的函数在每个结果之后显示输出,这样就不必首先加载函数,这需要很长时间。正如您在下面所看到的,我的想法是使用jQuery(1.8.2)来尝试这一点 它不起作用,我就是不能让它起作用。有更好的方法吗?我是不是在什么地方犯了一个错误,导致它不起作用 如果您需要更多信息,请询问 <?php print_r($_POST); if(is
<?php
print_r($_POST);
if(isset($_POST['p']) && isset($_POST['domain']) && isset($_POST['option']))
{ error_reporting(0);
define('INCLUDE_CHECK',true);
require('admin/API/class_api.php');
require('admin/functions/core.inc.php');
$dom = explode('.',$_POST['domain']);
$dom = $dom[0];
$ext = array('nl','be','eu','net','com','org','biz','info','tk','ws','gr','me','cc','in','gs','name','ch','co','tv','ru','bz','li','lu','pl','se','vg','cx','tl','im','sg','ms','sh','io','mu','fm','am','xxx','ag','sc','nf','md');
if ($_POST['loop']==40)
{ print 'Laatste loop dus .. STOP : .'.$ext[41]; }
else
{ print 'Loop: '.$_POST['loop'].' - zoek op : .'.$ext[$_POST['loop']];
?>
<script>
$.post('test.php', { p:'full', domain:dom, option:opt, loop:'<?php echo $_POST['loop']+1; ?>'},
function(data){
$('#domresults2').css('display','block').html(data);
$('#domloading').css('display','none');
});
</script>
<?php
}
}
?>
//Start JS
<script>
$('#domsubmit.complete').click( function() {
var dom = escape($('#domsearch').val());
var opt = escape($('#option').val());
$('#domresults2').css('display','none').html('');
$('#domloading').css('display','inline');
$.post('test.php', { p:'full', domain:dom, option:opt, loop:0},
function(data){
$('#domloading').css('display','none');
$('#domresults2').css('display','block').html(data);
});
return false;
});
</script>
//end JS
$.post('test.php',{p:'full',域:dom,选项:opt,循环:''},
功能(数据){
$('domresults2').css('display','block').html(数据);
$('domloading').css('display','none');
});
//启动JS
$('#domsmit.complete')。单击(函数(){
var dom=escape($('#domsearch').val();
var opt=escape($('#option').val();
$('domresults2').css('display','none').html('');
$('domloading').css('display','inline');
$.post('test.php',{p:'full',domain:dom,option:opt,loop:0},
功能(数据){
$('domloading').css('display','none');
$('domresults2').css('display','block').html(数据);
});
返回false;
});
//结束JS
///////////////////////////
更新:解决!
那么,出了什么问题?->core.inc.php中的php函数引用了与jQuery 1.8.2 lib('qTip2')不兼容的。谢谢你的支持
<?php
print_r($_POST);
if (isset($_POST['p']) && isset($_POST['domain']) && isset($_POST['option'])) {
error_reporting(0);
define('INCLUDE_CHECK', true);
require('admin/API/class_api.php');
require('admin/functions/core.inc.php');
$dom = explode('.', $_POST['domain']);
$dom = $dom[0];
$ext = array('nl','be','eu','net','com','org','biz','info','tk','ws','gr','me','cc','in','gs','name','ch','co','tv','ru','bz','li','lu','pl','se','vg','cx','tl','im','sg','ms','sh','io','mu','fm','am','xxx','ag','sc','nf','md');
$loop = $_POST['loop'];
DomCheck($_POST['domain'],$ext[$_POST['loop']]);
if ($loop != count($ext)) {
$loop++;?>
<script type="text/javascript">
var opt = '<?php echo $_POST['option']; ?>';
var dom = '<?php echo $_POST['domain']; ?>';
$.post('test.php', { p:'full', domain:dom, option:opt, loop:'<?php echo $loop; ?>'},
function(data){
$('#domresults2').css('display','block').append(data);
<?php if ($loop < count($ext)) {
echo "$('#domloading').css('display','none');";
} ?>
});
</script>
<?php
}
}
?>
var opt='';
var-dom='';
$.post('test.php',{p:'full',域:dom,选项:opt,循环:''},
功能(数据){
$('domresults2').css('display','block').append(数据);
您需要了解的一点是,PHP在服务器上执行,JavaScript(jQuery)在客户机上执行
这意味着当jQuery开始执行时,PHP已经完成了
但是,我在您的代码中没有看到任何循环。我认为这更符合您的要求。您不是在“使用jQuery进行PHP循环”,而是在PHP循环中输出jQuery代码:
<?php
if (isset($_POST['p']) && isset($_POST['domain']) && isset($_POST['option'])) {
error_reporting(0);
define('INCLUDE_CHECK', true);
require('admin/API/class_api.php');
require('admin/functions/core.inc.php');
$dom = explode('.', $_POST['domain']);
$dom = $dom[0];
$ext = array('nl','be','eu','net','com','org','biz','info','tk','ws','gr','me','cc','in','gs','name','ch','co','tv','ru','bz','li','lu','pl','se','vg','cx','tl','im','sg','ms','sh','io','mu','fm','am','xxx','ag','sc','nf','md');
foreach ($_POST['loop'] as $loop) {
if ($loop == 40) {
print "Laatste loop dus .. STOP : .{$ext[41]}";
} else {
print "Loop: {$loop} - zoek op : .{$ext[$loop]}";
?> <script>
$.post('test.php', { p:'full', domain:dom, option:opt, loop:'<?php echo $loop; ?>'},
function(data){
$('#domresults2').css('display','block').html(data);
$('#domloading').css('display','none');
});
</script>
<?php }
}
}
?>
$.post('test.php',{p:'full',域:dom,选项:opt,循环:''},
功能(数据){
$('domresults2').css('display','block').html(数据);
$('domloading').css('display','none');
});
你的代码在做什么?除了列出你的代码,你还需要解释你要做什么。PHP端正在等待服务器响应进行whois/dns查找。等待时间太长了,人们开始刷新等等。因此,我们的想法是尽快输出每个结果(每个结果)-让客户知道后台正在进行某些操作。现在,我使用的API可以选择一次执行一个请求。jQuery似乎没有使用上述代码发布和写入结果,而在当前的设置中,PHP结果需要花费很长时间-很抱歉没有解释,非常感谢您的帮助!谢谢!这让我充满了希望。我会尝试调整它并将结果发布在这里。到目前为止,jQuery循环没有成功。。