<script>
        $.ajaxSetup( {contentType: 'application/json'} );
        function submit_data(f){
          alert('submitting')
          var data_string = $(f).serialize();
          $.ajax({
                url: "http://localhost:3000/application/1/contact_us.json?jsonpcallback=?"+data_string,
                dataType: "jsonp",
                type : 'post',
                processData: false,
                crossDomain: true,
                contentType: "application/json",
                jsonp: false,
                jsonpcallback: result()
            });
        }

        function result(){
          alert('back in')
          alert(data)
        }
        function jsonp1300279694167(){
          alert('dhoom')
        }
      </script>

У меня есть сценарий выше, запрашивающий по домену и отправляющий данные в форме.
Вроде все нормально работает. Ответ JSON можно увидеть в консоли firebug. Я хочу обрабатывать ответ и отображать статусные сообщения соответственно пользователю. Как мне этого добиться?


ОБНОВЛЕНИЕ

Я пробовал, как предлагал TJ Crowder , но пока не смог. Измененный код выглядит следующим образом

function submit_data(f){
  alert('submitting')
  var data_string = $(f).serialize();
  $.ajax({
            url: "http://localhost:3000/application/1/contact_us.json?"+data_string,
            dataType: "jsonp",
            crossDomain: true,
            success: handleSuccess()
        });
}



function handleSuccess(data) {
  alert("Call completed successfully");
  alert(data);
}

. Он не обращается к данным и предупреждениям undefined . Если я пытаюсь передать его из success: handleSuccess () , он выдает ошибку и перенаправляет с HTTP-запросом.

Я получаю ответ от приложения Ruby on Rails . Вот метод, который я использую.

def create
    errors = ContactUsForm.validate_fields(params)
    logger.info errors.inspect
    if errors.blank?
      respond_to do |format|
        format.json {render :json => {:status => 'success'}.to_json}
      end
    else
      respond_to do |format|
        format.json {render :json => {:status => 'failure', :errors => errors}.to_json}
      end
    end
  end

Есть ли что-то, что мне нужно настроить в моем приложении rails

8
задан Pravin 16 March 2011 в 14:30
поделиться