更新时间:2024-03-11 来源:黑马程序员 浏览量:
$.getJSON()方法支持跨域请求。在网络中,协议、域名、端口号有任何一个不同都属于不同的域,而跨域就是指一个域的页面请求另外一个域的资源。出于安全考虑,浏览器限制了跨域行为,只允许页面访问本域的资源,这种限制称为同源策略。
如果需要跨域请求,可以通过JSONP(JSON with Padding)、CORS(Cross-Origin Resource Sharing)等方案来实现。$.getJSON()方法采用JSONP方案实现跨域请求,其使用方式非常简单,在请求地址后增加url参数“callback=?”即可。其中,callback表示回调函数,它的值“?”将被$.getJSON()方法替换成一个自动生成的函数名。
为读者更好地理解跨域请求,下面通过一个案例进行演示。由于JSONP需要服务器端的配合,因此先创建一个jsonp.php用于在服务器端执行,具体代码如下。
jsonp.php
1 <?php 2 $callback = $_GET['callback']; 3 echo "$callback(123);";
在上述代码中,第2行通过变量$callback接收来自url参数中的callback回调函数名,第3行对变量进行了字符串拼接,拼接结果为“回调函数名(123);”,表示调用函数并传递参数“123”。“123”是返回给浏览器的数据,此处可以根据实际需求换成其他数据。
【AI设计】北京143期毕业仅36天,全员拿下高薪offer!黑马AI设计连续6期100%高薪就业
2025-09-19【跨境电商运营】深圳跨境电商运营毕业22个工作日,就业率91%+,最高薪资达13500元
2025-09-19【AI运维】郑州运维1期就业班,毕业14个工作日,班级93%同学已拿到Offer, 一线均薪资 1W+
2025-09-19【AI鸿蒙开发】上海校区AI鸿蒙开发4期5期,距离毕业21天,就业率91%,平均薪资14046元
2025-09-19【AI大模型开发-Python】毕业33个工作日,就业率已达到94.55%,班均薪资20763元
2025-09-19【AI智能应用开发-Java】毕业5个工作日就业率98.18%,最高薪资 17.5k*13薪,全班平均薪资9244元
2025-09-19