废肥菜比八开发PHP会遇到的水坑_资料在jsp&php的传递retuen/echo

使用Ajax方法传资料时
一直以为资料是这样流动的
http://img2.58codes.com/2024/20120558pLvwSjweaa.png
1.Ajaz方式送资料
2.PHP档解析后依对应逻辑程式回传资料(return)
3.jsp呈现资料的程式
4.show在画面上

##结果并不是!!!!
http://img2.58codes.com/2024/20120558aPnHiB9QrR.png
之前写PHP前用return没出事真的是运气好...
code jsp

function clickbtn(){        $.ajax({            type: "GET",            url: "../controller/controller.php",            data: {data: "test"},            success: function(data) {                console.log(data);            },        })        alert("ajax结束");  //Ajax结束    }    console.log("OK");   //程式一开式就执行OK

code PHP

<?php$data = $_GET["data"];$arr = ["apple", "banana", "cola", "1", "2", "3"];echo $data;           //GET里的参数testecho "<br>1";echo $arr;            // array不能echo所以出Array to string conversionecho "<br>3<br>";print_r($arr);        echo "<br>2<br>";return $arr;         //本来希望return带data 但这是错的(X) 而且程式结束没有echo ENDecho "END";

Network
http://img2.58codes.com/2024/201205584yFM1AOIMB.png
console
http://img2.58codes.com/2024/20120558YXuvrK5dQ7.png
如果return是可行的话,在console是会在2的后面有dataArray
把PHP换一下

<?php$data = $_GET["data"];$arr = ["apple", "banana", "cola", "1", "2", "3"];echo $data;      //testecho "<br>2<br>";return $arr;      //这边就会结束程式echo "<br>3<br>";  //以下都不执行print_r($arr);echo "END";

所以console只有OK test2
但如果再把rerurn拿掉

<?php$data = $_GET["data"];$arr = ["apple", "banana", "cola", "1", "2", "3"];echo $data;      //testecho "<br>2<br>";//return $arr;      //注解echo "<br>3<br>"; print_r($arr);echo "END";

即使print出来后,还是会照样echo END 所以要die()来结束
http://img2.58codes.com/2024/20120558NI1fpxfrlU.png

关于rerurn exit die网路上有很多讨论了!只是自己都会忘记,那就来写一篇文章加深印象


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章