Chamar uma funcao php com ajax

5 respostas Resolvido
ajaxerrorphp
igoralves

Possuo um em PHP em um arquivo e pasta separada, preciso usar o AJAX para chamar essa função , estou fazendo desta forma porem esta me retornando 404

$(document).ready(function(){
    $('button').click(function(){
      var teste;  
      $.ajax({
        url : 'testeP.php',
        data : 'testeP',
        success:function(){
        	alert("teste");
      }

5 Respostas

Dragoon

Poste também o código PHP

igoralves

Segue o código ,

<?php
	function testeP()
	{
		$ip = $_SERVER['REMOTE_ADDR'];
		$portas = array(1433,2433);
		foreach($portas as $porta) 
		{

			$conexao = @fsockopen($ip, $porta);

			if (is_resource($conexao)) 
			{

				echo "<p>Porta {$porta} aberta.</p>";
				fclose($conexao);
			}

			else {

				echo "<p>Porta {$porta} fechada.</p>";

			}	  

		}
		echo $ip;			
	}
?>
Dragoon

você tem uma função mas, não chama ela? mas, também pode ser código inválido o seu código chega no servidor mas, ele não sabe o que fazer!

Então

testeP();

Observação: em métodos em funções o ideal é return e fora você dar um echo.

igoralves

Sim , o codigo eu sei que funciona , pois se eu coloco no corpo do html ele funciona normalmente, mas como quero colocar em um arquivo separado pois existe uma lentidao neste teste de porta no tcp.
Vou adicionar um retorno no metodo

Dragoon
Solucao aceita

Exemplo: (teste esse código)

Código PHP

<?php
	function testeP()
	{
		$ip = $_SERVER['REMOTE_ADDR'];
		$portas = array(1433,2433);
		foreach($portas as $porta) 
		{

			$conexao = @fsockopen($ip, $porta);

			if (is_resource($conexao)) 
			{

				echo "<p>Porta {$porta} aberta.</p>";
				fclose($conexao);
			}

			else {

				echo "<p>Porta {$porta} fechada.</p>";

			}	  

		}
		echo $ip;			
	}
	testeP();
?>

Código Html + Ajax:

<!DOCTYPE html>
<html>
<head>
	<title></title>
	<script type="text/javascript" src="js/jquery.min.js"></script>
</head>
<body>
	<button onclick="execute()">Executar</button>
	<div id="result"></div>
	<script>
		function execute()
		{
			$.get('testeP.php', function(data){
				$("#result").append('<p>' + data + '</p>');
			})
		}
	</script>
</body>
</html>
Criado 6 de abril de 2019
Ultima resposta 6 de abr. de 2019
Respostas 5
Participantes 2