温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

jQuery中怎么实现跨域提交表单数据

发布时间:2021-08-09 17:17:39 来源:亿速云 阅读:102 作者:Leah 栏目:开发技术

这期内容当中小编将会给大家带来有关jQuery中怎么实现跨域提交表单数据,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

HTML

在本例中,为了演示跨域提交数据,我们假设A网站域名为www.xuebuyuan.com,B网站域名为demo.xuebuyuan.com。我们在A网站创建一个简单的表单,用于提交用户信息。

<form id="myform" action="#" method="post">   <p><label>姓名:</label><input type="text" class="input" name="username" /></p>   <p><label>性别:</label><input type="radio" name="sex" value="1" checked="checked" /> 男生    <input type="radio" name="sex" value="2" /> 女生 </p>   <p><label>年龄:</label><input type="text" class="input" name="age" /></p>   <p><input type="submit" class="btn" value="提 交" /></p> </form>

jQuery

当用户填写完毕表单并点击“提交”按钮时,使用jQuery获取表单信息,并通过getJSON提交给B网站,请看代码:

$(function(){ $("#myform").submit(function(){ var data = $(this).serialize(); //序列化表单数据 $.getJSON("http://demo.xuebuyuan.com/jsonp.php?callback=?",data,function(json){    var msg = '';    if(json){   var  sex = json.sex==1? "男生":"女生";   msg = "<p id='result'><strong>提交成功!</strong><br/>姓名:               "+json.username+"<br/>性别:"+sex+"<br/>年龄:"+json.age+"</p>" }else{   msg = "服务器忙,请稍候再试!"; } $("#myform").after(msg); //将返回信息插入页面对应的元素后 }); return false; }); });

从代码中可以看出,首先将表单数据序列化,获得json格式的表单数据,然后通过getJSON将数据发送给B网站URL:http://demo.xuebuyuan.com/jsonp.php?callback=?,注意URL后面有个callback=?,将请求转换为一个JSONP请求。然后根据B网站处理结果响应,并将响应结果动态显示在A网站的表单提交页面。

PHP

本例中,B网站的jsonp.php程序获取A网站提交过来的表单数据,并将数据进行必要的处理(如有需要,可将数据过滤并插入数据库中),然后返回JSON格式的数据给A网站的表单提交页面。

$result['username'] = $_GET['username']; $result['sex'] = $_GET['sex']; $result['age'] = $_GET['age']; echo $_GET['callback'].'('.json_encode($result).')';

如果处理成功,会返回这样一串字符串:jsonp1331385001001({"username":"u5929u70edu7279","sex":"1","age":"28"})。

上述就是小编为大家分享的jQuery中怎么实现跨域提交表单数据了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI