نمایش نتایج 1 تا 9 از 9

نام تاپیک: وقتی میخوایم متد دارای ورودی را از طریق تابع S.ajax فراخوانی کنیم متغیر ورودی رو چطور براش بفرستیم؟

  1. #1

    وقتی میخوایم متد دارای ورودی را از طریق تابع S.ajax فراخوانی کنیم متغیر ورودی رو چطور براش بفرستیم؟

    سلام
    وقتی میخوایم متدی را از طریق تابع ajax.$ فراخوانی کنیم و اون متد یه ورودی میگیره، برای فرستادن متغیری که قراره ورودی اون تابع باشه، تو قسمت data چی باید بنویسیم. مثلا فرض کنید من میخوام متغیر search رو به تابع مورد نظر بفرستم.


    function func1() {
    var search= "test" ;
    $.ajax({
    type: "POST",
    url: "AjaxApplications.aspx/ServerSideMethod",
    data : ?'
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: OnSuccess,
    error: OnError
    });
    }


    من به شکل زیر نوشتم ولی error میده
    data: "{'name': '" + search + "'}",


  2. #2

    نقل قول: وقتی میخوایم متد دارای ورودی را از طریق تابع S.ajax فراخوانی کنیم متغیر ورودی رو چطور براش


    $(function()
    {
    var var1 = 'name';
    var var2 = 'lastName';
    var var3 = 'age';
    /////----------------------------
    $.ajax({ url: 'index.php', data:{name:var1,lastName:var2,age:var3}, type: 'POST',
    success: function(respond)
    {
    alert(respond);
    }
    });
    });

  3. #3

    نقل قول: وقتی میخوایم متد دارای ورودی را از طریق تابع S.ajax فراخوانی کنیم متغیر ورودی رو چطور براش

    نقل قول نوشته شده توسط blackmak مشاهده تاپیک

    $(function()
    {
    var var1 = 'name';
    var var2 = 'lastName';
    var var3 = 'age';
    /////----------------------------
    $.ajax({ url: 'index.php', data:{name:var1,lastName:var2,age:var3}, type: 'POST',
    success: function(respond)
    {
    alert(respond);
    }
    });
    });
    اینجوری هم درست نشد! انواع و اقسام طرز نوشتن name : value رو امتحان کردم. با کوتیشن، بدون کوتیشن، هیچ جوری جواب نمیده ):

  4. #4

    نقل قول: وقتی میخوایم متد دارای ورودی را از طریق تابع S.ajax فراخوانی کنیم متغیر ورودی رو چطور براش

    توجه کنید که فایلو از لوکال هاستون یا server اجرا کنید و فایل jQuery.js رو هم کنار فایلتون قرار بدید
    البته من با php مثال زدم

    index.html

    <html>
    <head>
    <script src="jQuery.js" type="text/javascript" charset="utf-8"></script>
    <script>
    $(function()
    {
    /// ----- vaghti rooye link click kone
    $('#calculate').click(function()
    {
    /// ----- moteghayerha az too inputha khoonde mishan
    var var1 = $('#val1').val();
    var var2 = $('#val2').val();
    var var3 = $('#val3').val();

    /// ----- post mishan be safheye cal.php
    $.ajax({ type: 'POST', url: 'cal.php', data:{a:var1,b:var2,c:var3},
    success: function(respond)
    {
    /// ----- pasokhe safheye cal.php mishine too respond va oonoo mirizim too div
    $('#res').html(respond);
    }
    });
    });
    });
    </script>
    </head>
    <body>
    <input type="text" id="val1" name="1" /> +
    <input type="text" id="val2" name="2" /> +
    <input type="text" id="val3" name="3" />
    <a href="#" id="calculate">Calculate</a><br>
    <div id="res"></div>
    </body>
    </html>


    cal.php

    <?php
    /// ---- meghdar a va b va c rikhte mishan too motaghayer
    $a = $_POST['a'];
    $b = $_POST['b'];
    $c = $_POST['c'];

    $d = $a + $b + $c;

    /// ---- in mire too respond mishine too index.html
    echo $d;
    ?>

    موفق باشید

  5. #5

    نقل قول: وقتی میخوایم متد دارای ورودی را از طریق تابع S.ajax فراخوانی کنیم متغیر ورودی رو چطور براش

    نقل قول نوشته شده توسط blackmak مشاهده تاپیک
    توجه کنید که فایلو از لوکال هاستون یا server اجرا کنید و فایل jQuery.js رو هم کنار فایلتون قرار بدید
    این کارها رو که کردم. من متد بدون ورودی را فراخوانی میکنم و بدون مشکل اجرا میشه. مشکل وقتیه که میخوام ورودی بفرستم پس به data مربوط میشه. دیتا رو هم دقیقا همین طوری که شما گفتی نوشتم. به فرض

    var name = "test";
    ...
    data = {thisname : name}


    ولی درست اجرا نمیشه. Internal server error میده. به اشکال دیگه هم نوشتم. مثلا thisname رو توی کوتیشن بزارم. کل عبارت رو تو کوتیشن بزارم یا این که بنویسم :
     data = "{ thisname : " + name + "}" 
    یا به شکل
    data = "{ 'thisname' : '" + name + "'}" 
    ولی بازم درست نشد

  6. #6

    نقل قول: وقتی میخوایم متد دارای ورودی را از طریق تابع S.ajax فراخوانی کنیم متغیر ورودی رو چطور براش

    ببینید data رو داخل کوتیشن یا دابل کوتیشن نذارید

    data:{a:var1,b:var2,c:var3}

    الاوه بر این Firebug این پلاگین واسه فایرفاکسو نصب کنید رو فایر فاکستون و اونجا ببینید چه اتفاقی میوفته وقتی Request پست میشه.

  7. #7

    نقل قول: وقتی میخوایم متد دارای ورودی را از طریق تابع S.ajax فراخوانی کنیم متغیر ورودی رو چطور براش

    سورس کامل رو بذار تا بررسی کنیم.

  8. #8

    نقل قول: وقتی میخوایم متد دارای ورودی را از طریق تابع S.ajax فراخوانی کنیم متغیر ورودی رو چطور براش

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

  9. #9

    نقل قول: وقتی میخوایم متد دارای ورودی را از طریق تابع S.ajax فراخوانی کنیم متغیر ورودی رو چطور براش

    بعد از کلی بررسی یه چیز جالب دیدم. وقتی وب متد توی یک وب سرویس باشه کار میکنه ولی وقتی وب متد رو توی یک صفحه aspx استفاده میکنم کار نمیکنه. البته همونطور که قبلا گفتم برای وب متد بدون پارامتر ورودی، توی صفحه aspx هم بدون مشکل اجرا میشه. توی فایرباگ هم میگه : "Invalid web service call, missing value for parameter"

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •