dize değerleri jQuery ajax veri dizisi kullanmak için fonksiyonu serialize

2 Cevap php

Eğer Jquery ile. val (toplamak kullanıcı girişleri) sterilize etmek için, kullanıcı yazarken aşağıda gördüğünüz örnekte ... bir veri dizisi içinde yazmak nasıl

if some text that contains & the rest of the comment doesn't seem to work fine because it counts the rest as an other variable to POST..

is there a sanitaziation or serialization code? jQuery's sanitize() function works on forms but i want something that i can use directly use on strings...

var id = $("some_id_value_holder_hidden_field").val();
var comment = $("#sometextarea").val();

var dataString = "id=" + id + "&comment=" + comment;

$.ajax({

type: "POST",
url: "write_comment.php",
data: dataString,
dataType: "json",
success: function(res) {
  // Success
},
error: function(xhr, textStatus, errorThrown) {
  // Error
}
});

Any suggestion will be much appreciated Regards

2 Cevap

yerleşik bir encodeUriComponent o aradığınız tam olarak ne yapar orada. Bunun yanı sıra, vaka url kodlama jquery tarafından ele alınacağı, "veri" alanında bir nesne sağlayabilir. Sizin örnekte:

 $.ajax({
     type: "POST",
     url: "write_comment.php",
     data: { id: id, comment: comment},
     etc...

Eğer Jquery kullanarak konum beri, dizi getirilmeye dahil Form eklentisini kullanabilirsiniz.

serialize () - form alanları bir url dize oluşturur (örneğin, someEle = SOMEVAL & anotherEle = anotherVal)

serializeArray () - (bilmek yararlıdır) tüm form elemanları bir anahtar / değer dizi döndürür

$.ajax({
    url : 'write_comment.php',
    type : 'post',
    data : $('#form-element').serialize(),
    success : function(data)
    {
        alert('yay!');
    }
});

Edit: Yanlış kaçış () bölümü kaldırmak için Düzenlendi.