Chamar uma funcao php com ajax

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");
      }

Poste também o código PHP

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;			
	}
?>

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.

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

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>
1 curtida