[英]Passing jquery variable to ajax data
我正在嘗試將這些變量從3個隱藏字段傳遞給ajax的數據。
我得到正確的變量。 我通過console.log進行了驗證。 我試圖解析json,但對我而言卻沒有。
我未捕獲到的錯誤異常:[異常...“無法轉換JavaScript參數” nsresult:“ 0x80570009(NS_ERROR_XPC_BAD_CONVERT_JS)”位置:“ JS框架:: http://code.jquery.com/jquery-latest.js :: ::第7740行“數據:否]第2行
我試圖使用ajax請求將這些變量傳遞給我的控制器。 數據字符串中的其他變量我完全沒有問題。 當用戶單擊星級時,這些值將發布並插入到數據庫中。
以下是變量:
var TweetUserId = $(this).parents().prevAll('input[type=hidden:first]') ;
var TweetScreenName = $(this).parents().prevAll('input[type=hidden:second]') ;
var TweetPostText = $(this).parents().prevAll('input[type=hidden:third]') ;
// making it an object didnt work
// TweetUserId = new Object; TweetUserId = (TweetUserId);
// TweetScreenName = new Object; TweetScreenName = (TweetScreenName);
// TweetPostText = new Object; TweetPostText = (TweetPostText);
這是要求
$.ajax({
url: '/Home/GetRating', //your server side script
dataType: "json",
data: { id: ratingid, value: value, TweetUserId: TweetUserId, TweetScreenName: TweetScreenName, TweetPostText: TweetPostText, tweetday: dateoftweet, tweettime: timeoftweet }, //our data
type: 'POST',
success: function (data) {
//$('#ratemsg').html(data);
msg.html(" The TweetId is " + ratingid + " the vote value is " + value + " " + dateoftweet + " " + timeoftweet );
// console.log(hiddenValue);
},
error: function (jxhr, msg, err) {
// $('#response').append('<li style="color:red">' + msg + '</li>');
msg.html(data);
}
});
});
});
:first
:second
:third
[type=hidden]
,並且沒有:second
:third
..請使用:eq()
選擇器代替 填充變量時使用它。
var TweetUserId = $(this).parents().prevAll('input[type="hidden"]:eq(0)').val();
var TweetScreenName = $(this).parents().prevAll('input[type="hidden"]:eq(1)').val();
var TweetPostText = $(this).parents().prevAll('input[type="hidden"]:eq(2)').val();
作為一般模式,當您打算多次使用jQuery對象時,最好重新緩存它,而不是重新選擇它。
所以你可以用
var hiddenElements = $(this).parents().prevAll('input[type="hidden"]'),
TweetUserId = hiddenElements.eq(0).val(),
TweetScreenName = hiddenElements.eq(1).val(),
TweetPostText = hiddenElements.eq(2).val();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.