ライブ Web サイトでは正常に実行されているが、ローカル開発サーバーでは実行されていない同じコードに問題があります。
div を更新する Ajax 関数があります。次のコードは、ライブ サイトで機能します。
self.xmlHttpReq.open("POST", PageURL, true); self.xmlHttpReq.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); self.xmlHttpReq.setRequestHeader("コンテンツの長さ", QueryString.length); //..div の更新... self.xmlHttpReq.send(QueryString);
これをローカル マシンで実行しようとすると、QueryString に何も渡されません。
ただし、問題を混乱させるために、次のコードはローカルで機能します。
self.xmlHttpReq.open("POST", PageURL+"?"+QueryString, true); self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); //..div更新のもの.. self.xmlHttpReq.send(QueryString);
しかし、ローカル マシンで動作するコードは、ライブ サーバーでは動作しないため使用できません (セキュリティ上の理由から、クエリ文字列に関するポリシーが変更されています)。
ローカル マシンの関数に渡されたことを確認できるように、クエリ文字列にアラートを出すことができます。私が考えることができる唯一のことは、それがハードウェア/アップデートの問題だということです.
ライブ サイトは IIS 6 を実行しています (WIN 2003 ボックス上だと思います)。
ローカル サイトは IIS 5.1 を実行しています (XP Pro の場合)
いくつかの更新または不足しているものはありますか?