我有一个输出html简单行的表格 <a href="link">A LINK</a>
<a href="link">A LINK</a>
我可以通过将数据附加到网址(例如http://site.com/form.asp?sample=100)直接访问该过程
因为这是跨域(到子域)的,所以我尝试使用JSONP做到这一点。我首先使用数据类型json进行了尝试,但仍被禁止使用403。这是我正在使用JSONP进行的尝试,但这是种种混乱,并会在错误后面附加此%5Bobject%20Object%5D“。我想这是我尝试将数据附加到网址?
$j.getJSON({ type: 'POST', url: 'http://site.com/form.asp', data: 'order=' + ordervalue, contentType: "application/json; charset=utf-8", dataType: "jsonp", success: function(response) { alert(response); } });
JSONP不能这样工作,您根本不发送JSON,而是发送HTML。
JSONP严格来说是一个GET请求(通过创建<script>标签来完成),您无法跨域POST 并 返回结果…这根本行不通。JSONP的工作方式基本上是将其添加到您的页面中:
<script>
<script type="text/javascript" src="http://site.com/form.asp?order=something&callback=myFunc"></script>
....该响应必须是有效的JavaScript,通常如下所示:
myFunc({ "key": "value"...data, etc... });
它不为获取HTML的工作,它只是抛出一个语法错误,这个限制是 非常 有意的,并在地方安全块的部分(部分同源策略)。