我正在编写一个简单的网站,该网站以一个成语作为输入,并从牛津词典返回其含义和示例。这是我的主意:
我向以下网址发送了请求:
http://www.oxfordlearnersdictionaries.com/search/english/direct/?q=[idiom]
例如,如果习惯用法是“不走远”,我将请求发送至:
http://www.oxfordlearnersdictionaries.com/search/english/direct/?q=not+go+far
然后将我重定向到以下页面:
http://www.oxfordlearnersdictionaries.com/definition/english/far_1#far_1__192
在此页面上,我可以提取成语的含义和示例。这是我的测试代码。它将提醒响应URL:
<input id="idiom" type="text" name="" value="" placeholder="Enter your idiom here"> <br> <button id="submit" type="">Submit</button> <script type="text/javascript"> $(document).ready(function(){ $("#submit").bind('click',function(){ var idiom=$("#idiom").val(); $.ajax({ type: "GET", url: 'http://www.oxfordlearnersdictionaries.com/search/english/direct/', data:{q:idiom}, async:true, crossDomain:true, success: function(data, status, xhr) { alert(xhr.getResponseHeader('Location')); } }); }); }); </script>
问题是我有一个错误:
跨域请求被阻止:“同源起源”策略不允许读取http://www.oxfordlearnersdictionaries.com/search/english/direct/?q=by+far上的远程资源。可以通过将资源移到同一域或启用CORS来解决此问题。
有人可以告诉我如何解决吗?另一种方法也很好
您的网站是否也在oxfordlearnersdictionaries.com域上?还是您尝试拨打网域且使用相同的原始政策阻止了您?
除非您有权通过oxfordlearnersdictionaries.com域上的CORS设置标头,否则您可能需要寻找另一种方法。