同じドメイン内のcfcにアクセスするためにgetJSONを使用しているページがあります。すべてが開発サーバー上で正常に動作しますが、ライブでは動作しません。他のjqueryは、.getJSON呼び出しではなく、うまく実行されます。 Webからもいくつかの例を試してみましたが、getJSONの代わりにajaxを使用しましたが、結果は常に同じです。テストではなく、ライブではありません。jquery cfcへのgetJSON呼び出しは、テストサーバー上で動作しますが、ライブではありません。
私が現在テストしているコードは、http://www.christopherchin.com/blog/index.cfm/2010/3/25/HELP-CFCjqueryJSONの例を取り除いたものです。
index.cfmに:
<script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js"></script>
<script type="text/javascript">
chkUsernameUnique = function(theUsername){
$.getJSON("/jsonTest/mycfc.cfc", {
method: 'chkUsername',
Username: theUsername,
returnformat: 'json'
}, function(isUsernameUnique){
$("#theErrorDivID").html(isUsernameUnique);
});
};
</script>
<input type="text" name="username" id="username" onchange="chkUsernameUnique(this.value);" />
<div id="theErrorDivID"></div>
mycfc.cfc:
<cfcomponent>
<cffunction name="chkUsername" access="remote" returnformat="json" output="false">
<cfargument name="Username" required="true">
<cfset thisRecordCount=4>
<cfreturn thisRecordCount>
</cffunction>
</cfcomponent>
これは純粋で、それは何も有効ではありませんという事実を無視テスト用。テストサーバでは、それは何をすべきかを行い、ボックスに何かを入力すると4を表示します。肝臓サーバーでは、実際にエラーが発生せず、ブラウザにはJavaScriptが有効であることが示されますが、何も起こりません。この時点では、コードと何か関係があるのではなく、サーバーやColdFusionの管理者の設定になるかもしれないと思っていますが、どこから始めるべきかはまだ分かりません。どんな助けでも大いに感謝しています。
アップデート:テストサーバーでは応答が4.0であるが、ライブサーバーでは4.04と表示されています。余分なスラッシュはどういう意味ですか?
どのブラウザでこれを試しましたか?また、あなたはフィドラーとのリクエストをチェックして、レスポンスが何であるかを見ていますか? –
ブラウザにurlディレクトリを貼り付けて、応答として正確に返されるものを確認してください。 http:// [yourdomain] /jsonTest/mycfc.cfc?method=chkUsername&username= [username]&returnformat = json –