0

私はすでに一週間問題に取り組んでいて、どこにも答えを見つけることができません。

これが問題です:

XMLHttpRequestはhttp://www.websiteA.com/process.phpをロードできません。Origin http://clientwebsi.teは、Access-Control-Allow-Originでは許可されていません。

WebサイトAからサーバーにあるJavascriptファイルがあります。クライアントはそこのWebサイトにJSファイルをロードできます。

サーバーAには、サーバーAのデータベースに情報を配置するprocess.phpもあります。

私は今このコードを使用しています:

var dataText = 'page=' + top.location.host;
$.ajax({
    type: "POST",                 
    url: "process.php",         
    data: dataText,              
    error: function(request,error){
            alert(error);
        },
    success: function(request) {
        alert(request.length);
    }
});

このコードはローカルホストで完全に機能しますが、サーバーAとクライアントサーバー(クロスドメイン)を使用している場合は機能しません

これはオンラインコードです:

$.ajax({
    type: "POST",                 
    url: "http://www.serverA.com/process.php",         
    dataType: "json",
    data: dataText,              
    error: function(request,error){
            alert(error);
        },
    success: function(request) {
        alert(request.length);
    }
});
4

2 に答える 2

0
$.ajax({
    type: "POST",                 
    url: "http://www.serverA.com/process.php",         
    dataType: "jsonp",
    data: data,  
    crossDomain: true,            
    error: function(request,error){
            alert(error);
        },
    success: function(request) {
        alert(request.length);
    }
于 2012-06-15T14:05:33.890 に答える
-1

唯一の方法は、jsonpGETリクエストを作成することです。非常に簡単ですが、他の種類のリクエストを使用することはできません。

$.ajax({
    dataType: 'jsonp',
    url: 'http://domain.de/jsonp.php',
    success: function(data, textStatus, jqXHR),
    error: function(jqXHR, textStatus, errorThrown)
});
于 2012-06-15T14:48:37.927 に答える