Ajax学习:jQuery发送jsonp请求

 crossorigin="anonymous":防止jQuery报错

点击按钮--发送请求 返回结果在div中呈现

//jquery发送请求 需要补充参数callback=? 固定写法用来跨域的

虽然我们填写的是?,但是有参数值的,服务端可以接收到这个参数,服务端把接收到的参数值,作为函数调用的函数去拼接字符串,也就是说jquery已经编写了一个函数了

 前端页面:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script crossorigin="anonymous" src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.1/jquery.js"></script>
	<style>
		#result{
			width: 300px;
			height: 100px;
			border: 1px skyblue solid;
		}
	</style>
	</head>
	<body>
		<button>点击发送jsonp请求</button>
		<div id="result"></div>
		<script>
			$('button').eq(0).click(function(){//jquery发送请求 需要补充参数callback=? 固定写法用来跨域的
				$.getJSON('http://127.0.0.1:9000/jquery-jsonp?callback=?',function(data){
					//data就是接收的数据

					$('#result').html(`
					名称:${data.name}<br>
					校区:${data.city}					`)

				})
			})
		</script>
	</body>
</html>

服务器部分:

const {
	json
} = require('express');
const express = require('express')

const app = express();


app.get('/jquery-jsonp', function(requset, response) {

	const data = {
		name:'李四',
		city:['北京','上海','广州']
	};
	//将数据转化为字符串
	let str = JSON.stringify(data);
	//返回结果 不可以是数据 j代码 end防止添加不知名的响应头 模板字符串是需要传递字符串的
	//``模板字符串 方便拼接
	//${str}这里的是对象
	//服务端接收callback的值
	let callback=requset.query.callback;
	response.end(`${callback}(${str})`);//返回函数的调用 然后进行解析处理

})

app.listen(9000, () => {
	console.log('9000启动成功')
})

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值