Page 81 - JavaScript修炼之道
P. 81
任务31 跨域“Ajax”(方法收集1) 71
使用CORS兼容的XMLHttpRequest
server/crossdomain1/crossdomain1.js
new Ajax.Updater({ success: 'responses' }, this.href, {
method: 'get', insertion: 'bottom'
});
使用服务器端协议
server/crossdomain1/crossdomain1.js
new Ajax.Updater({ success: 'responses' }, 'ssp.php', {
method: 'get', parameters: { uri: this.href }, insertion: 'bottom'
});
同时使用动态生成的表单和<iframe>
server/crossdomain1/crossdomain1.js
var warp = new Element('iframe', { name: '__blackhole' });
warp.setStyle('width: 0; height: 0; border: 0');
document.body.appendChild(warp);
warp.observe('load', function() {
$('responses').insert('<p>OK, posted.</p>');
});
var form = new Element('form', { method: 'post', action: this.href,
target: '__blackhole' });
form.submit();
使用得到204响应的动态生成的表单
server/crossdomain1/crossdomain1.js
var form = new Element('form', { method: 'post', action: this.href });
form.submit();
Element.insert.defer('responses', '<p>OK, posted.</p>');
相关任务
任务32