所谓跨域就是在不同的域名下操作数据。为了跨域,jquery的ajax提供了专门的一个jsonp数据格式。但是真到你用了就会发现很多错误。
我遇到几个问题网上讲的都不是很明白, 现在就我遇到的错误讲下,希望能对你有用~~。
客服端代码:
用户端代码如果只是简单的如:{con:'hello~~',title:'xxxxxx'}
这时就会在提示错误 invalid label (想明白为什么错了吗?别急~~)
为了解决这个问题。我在网上百度啊,百度啊说是callback函数问题,看的不是太明白。我就写了一个例子
问题解决了。这时候客服端可以获取jsonp的值了。
要明白为什么这么写。很简单,jquery要获取的是一个javascript 函数,函数名为callback随机产生的,所以在服务器端我们要把传递的数据写成javascript函数的形式如:callback_value({con:"hello",title:"xxxx"})
这里callback_value就是jquery ajax随机传递到页面的值,在php里获取这个值用calback_value=$_get['callback'];
asp里用callback_value=request("callback")
要注意的几点,跨域只能使用jsonp格式,只能用get方法。所以data数据不要太长,不让就会报错。
明白了吗?本人水平有限,理解能力有限,本文只是希望能给点思路。~~希望能帮到呢~