ورود

View Full Version : سوال: تغییر نکردن محتوای المان با خروجی ajax



ictboy
سه شنبه 19 فروردین 1399, 13:11 عصر
باسلام خدمت دوستان
من یک صفحه ای دارم که یک ورودی داخل گذاشتم و در رویداد onchange توسط ajax صفحه ای رو فراخوانی می کنم و نتیجه رو میخوام داخل یک المان مثلا span نشون بدم. هم چیز درست داره کار می کنه فراخوانی ajax صحیح هست و مقدار برگشتی رو هم دارم و با alert می تونم مقدار مورد نظر رو ببینم ولی دستور تغییر محتوای المان کار نمی کنه




[HTML]
<!DOCTYPE html>


<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>test</title>
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.4.1.min.js"></script>
</head>
<body>
<div>
<input type="text" id="name" name="name" value="" />
<input type="text" id="name2" name="name2" value="" />
<span id="res"></span>
</div>
<script type="text/javascript">
$(document).ready(function () {
$("#name").change(function () {
var val1 = $("#name").val();
$("#name2").val(val1);
//-------------------------------------------- Ajax
$.ajax({
type: "POST",
url: "/Projects/Name",
data: '{value1: "' + val1 + '" }',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
$("#name2").val(response);
alert("Result: " + response);
},
failure: function (response) {
alert(response.responseText);
},
error: function (response) {
alert(response.responseText);
}
});
//--------------------------------------------
});


});
</script>
</body>
</html>






جالب این هست که از بیرون بلاک ajax با val() و text() و html() می تونم مقادیر رو تغییر بدم ولی از داخل بلاک ajax جز alert چیزی کار نمی کنه.


دوستان یه راهنمایی بفرمایید کجای کار مشکل داره.

plague
چهارشنبه 20 فروردین 1399, 08:40 صبح
یا المنتی با آیدی name2 وجود نداره یا محتوایی که میخای بزاری توش قابل نمایش به صورت ساده نیست (رشته نیست )

برای اینکه مطمئن بشی المنت توی صفحه وجود داره میتونی تعدادش رو بشماری و آلرت کنی


$('#name2').length


ولی خب به نظر میاد شما مشکلت مورد دومیه که گفتم شما پاسخت به نظر میاد از نوع json هستش و تبدیل به آبجکت میشه .... به طور خلاصه رشته نیست که بخای همینجوری بزاریش توی المنت برای اینکه ساختارش رو ببینی میتونی

console.log(response);

بزاری تو کدت بعد تو کنسول مرورگر نگاش کنی ساختارش رو ببینی