現在、ローカルホスト上の Rails サーバーと通信するための Ajax スクリプトを作成しようとしています (今のところ)。問題は、 $.ajax リクエストで「json」形式が必要であることを指定しているのに、Rails が「html」形式を返すことです。
$(document).ready(function(){
$('form').on("submit",function(){
$.ajax({
contentType: 'application/json; charset=utf-8',
url : "http://192.168.0.36:3000/?value=10",
type : "GET",
dataType : 'JSON',
success: function(data){
alert(JSONParsedata(data));
},
error: function(XMLHttpRequest, textStatus, errorThrown)
{
alert(textStatus +", " +errorThrown);
}
});
return false;
})
Rails サーバーのコンソール ログで、次の内容を確認できます。
HTML として WelcomeControllerindex による処理 ... 34ms で 200 OK を完了...
実際にサーバーから応答を受け取りますが、JSON ではなく HTML 形式です。
私は、welcomeController コード用の Rails コントローラーに次のものが含まれていることを正確に説明します。
respond_to do |format|
format.html
format.json { render :json => @z }
end
z は、Ajax リクエストに送り返したい変数であり、以前に定義されています (わかりやすくするためにコードにライトを付けました)。
その結果、Jquery は結果を JSON 形式で解析し、完全なページの最初の文字に対応する : parsererror syntaxerror unexpected token '<' で終了しようとしています。
何時間も検索しましたが、これを解決する方法がわかりません。
ご助力ありがとうございます