これは、Safari では機能するが Chrome では機能しない AJAX メソッドです。エラーメッセージが続きます。
$(document).ready(function(){
$('.infobutton').click(function(){
$.ajax({
url: 'http://apps.nlm.nih.gov/medlineplus/services/mpconnect_service.cfm',
data: {
'mainSearchCriteria.v.cs': $(this).attr('data-code-system'),
'mainSearchCriteria.v.c': $(this).attr('data-code')
},
dataType: 'xml',
async: false,
method: 'GET',
success: function(data){
console.log('success');
console.log(data);
},
done: function(data){
console.log('done');
console.log(data);
},
error: function(data){
console.log('error');
console.log(data.error());
}
});
});
});
コンソール出力ではstatusText
、error
コールバックで が次のように表示されます"Error: NetworkError: DOM Exception 19"
。このリンクはDOM Exception 19について語っていますが、それは単にNETWORK ERROR
. 役に立ちません。
他の調査から、Chrome にはセキュリティや XSS などに関する既知の問題があることがわかっています。
私はこのSO の投稿とこの投稿のすべての提案を試しました。運がない。
そのクエリ文字列を使用して URL に直接アクセスすると機能します。ここで見ることができます。
また、これはアプリケーションの一部ではないことに注意してください。html は文字通りただの<button class="infobutton">Click Me</button>
. これは、AJAX を機能させるための概念実証にすぎません。
更新file:///
ローカル (プロトコルを使用) とリモートの両方で、開発サーバーで作業している
ときに、この同じエラーが発生することも確認できます。