JQuery, что не так с этой функцией - PullRequest
0 голосов
/ 07 апреля 2011

edit: мой скрипт вызывается кнопкой: $("#btnLogout").click(function() { the ajax here

Интересно, если что-то не так с этим:

        $.ajax({
      contentType: "application/json; charset=utf-8",
      data: {"fname":"123456"},
      dataType: "json",
      type: "POST",
      //url: "PersonService.asmx/AddPerson"
      url: "http://mark:123456@interfaces.local/users/145198/users/update"
    });

кажется, что он не работает, и я неЯ не вижу никакой ошибки, поэтому я вижу, что не так.

Я хочу изменить запись из своей базы данных со значениями data

спасибо


хорошо, я нашел свой ответ с помощью arma's.команда type: "PUT", предназначена для изменения чего-либо.type: "POST", команда для создания / добавления чего-либо.

var mydata = {"fname":"bobworth"};
$.ajax({
type: "PUT",
processData : false,
data: JSON.stringify(mydata),
dataType: "json",
url: "http://www.xxx.com/users/",
contentType: "application/json; charset=utf-8",
username: "mark",
password: "123456",
success: function(t){    alert(t);  },
error: function(jqXHR, textStatus, error){
alert("jqXHR:"+jqXHR.status+" txtStatus:"+textStatus+" Error:"+error);  }
});

спасибо всем.

Ответы [ 4 ]

1 голос
/ 07 апреля 2011

Проблема здесь в contentType: "application/json; charset=utf-8", Не знаю, что вы делаете на стороне сервера, но по умолчанию «application / x-www-form-urlencoded» почти всегда то, что вы хотите использовать. Также контент всегда отправляется в UTF-8, поэтому вам не нужно указывать это.

Попробуйте это:

$.ajax({
  data: {"fname":"123456"},
  dataType: "jsonp",
  type: "POST",
  //url: "PersonService.asmx/AddPerson"
  url: "http://mark:123456@interfaces.local/users/145198/users/update",

  success: function(t){
    alert(t);
  },

  error: function(jqXHR, textStatus, error){
    alert("jqXHR:"+jqXHR.status+" txtStatus:"+textStatus+" Error:"+error);
  }
});

Просто верните что-нибудь в ответ, и вы должны увидеть, работает ли оно хорошо.

А для сервера (я знаю только php:)):

$output = json_encode("myresponse_or_arrays");
if(isset($_POST['callback'])){
   $final = $_POST['callback']."(".$output.")";
}
echo $final; // This without any kind of checks or w/e ofc
0 голосов
/ 07 апреля 2011
  • как вы вызываете этот метод $ .ajax?может быть, вы просто не звоните?
  • я полагаю, что interfaces.local - это запись файла hosts, указывающая на ваш локальный компьютер?

Пост arma выглядит довольно хорошо, вы получаете javascriptошибки?какой браузер вы используете и какую ОС?

использовать firebug или chromes dom inpsector и генерировать некоторые записи console.log () до его вызова и после, так что вы можете хотя бы знать, что он попал в этот кусок кода?

0 голосов
/ 07 апреля 2011
$.ajax({
      data: { fname: "123456" },
      type: "POST",
      url: "http://mark:123456@interfaces.local/users/145198/users/update"
});

И убедитесь, что url находится в том же домене, что и ваша страница

0 голосов
/ 07 апреля 2011

Изменение:

data: {"fname":"123456"},

К

data: {fname:"123456"},
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...