在vue项目中使用了vue.config.js处理了跨域操作,后台返回给我一个form表单,我直接在页面中添加这一段代码。并执行form表单的方法,银联支付方就告诉我们是交易可能存在风险但是使用jqu
顺晟科技
2022-09-03 12:27:18
431
在vue项目中使用了vue.config.js处理了跨域操作,后台返回给我一个form表单,我直接在页面中添加这一段代码。并执行form表单的方法,银联支付方就告诉我们是交易可能存在风险但是使用jquery就可以实现支付
询问过银联的防钓鱼域名,也包含我访问的域名求问各位大佬 这是什么问题,应该如何解决呢
顺晟科技:
你有尝试过$("#pay_form")[0].submit()吗,这个才是和Vue等价的代码,$("#pay_form").submit是jQuery封装的
ajax提交(包括axios)不可以跨域。你写的jQuery,其实是用的form的提交。
$("#pay_form")[0].submit()这种方式尝试了 可以正常访问
对的 ,但是放到vue这边我个人就有点迷糊了,因为看着支付宝也是这样,但是可以正常运行
我看了你写,你这样其实会累加div的,你在Vue的模板html里面增加一个指定id的div,每次操作这个div的innerHTML,submit之后清空,这样的话,其实和Vue完全没关系了
我发现一个问题,你的示例的submit,是点击之后触发的,你Vue里面是请求结束获取之后触发,这里面有一个用户点击时间差,时间过长会导致,用户点击触发的这个行为,失去意义,导致你后面的操作变成不安全,你也可以试试这方面的,这个我也只是了解,你可以修改你的demo,在获取渲染之后,直接触发原生submit,看能不能触发这个问题
因为项目本身是要处理跨域操作,form表单是从接口中获取,然后添加到页面内,然后执行submit事件
我们是先通过接口获取到的form表单
您的意思是我在vue里直接获取到dom数据,进行渲染,然后直接执行submit()事件,有可能form表单没有加载完全,中间间隔了一个时间差是嘛
从页面操作讲,你直接通过form触发,就相当于机器触发,正常用户是无感form的,你应该精确到内部button[type=submit]等价的元素的点击事件,模拟用户的点击,而不是form的submit
form 表单提交,是支持跨域的,不做任何设置。
直接赋值给iframe 但是 好像没有用 并没有触发
访问银联,为啥要在 vue.config.js处理跨域操作?form提交,本来就是支持跨域的。
这种方法也还是不太能行,只能看见银联那边报这个
好的 我这就尝试下,感谢您的建议
虽然vue不建议直接操作dom,但是并没有禁止直接操作dom。document.getxxxx ,找到表单,然后就可以submit了。
我这边获取到的是这样的form表单
其实,这是一个元素HTML的form表单,如何使用,如果提交的问题。jQuery 是对原生form的提交的封装。
别试了,直接<iframe src="res.data">
,你的获取的内容里面.在完成加载之后会自动触发submit的,不需要你干什么的
03
2022-09
30
2021-10
20
2021-10