ajax调用不发送数据

时间:2013-12-30 10:52:23

标签: javascript jquery ajax

我正在使用ajax调用,但我没有得到任何答案。在下一个图像中,您可以看到呼叫正常工作但我没有获得数据。  enter image description here

我的html是下一个代码:

<script> 
        // wait for the DOM to be loaded 
        $(document).ready(function() { 

            // bind 'myForm' and provide a simple callback function

            $('#form input').on('change', function() {  
                var valueSelected = $("#form").find('input:checked').val();         


                /*$.post("http://localhost:49918/Home/HandleForm", {howGood : valueSelected}, function(respuesta) {
                    console.log("La respuesta es:", respuesta)
});*/

                 $.ajax({
                       type: "POST",

                       url:   "http://localhost:49918/Home/HandleForm",

                       data: { howGood : valueSelected },
                     success: function(respuesta){
                     console.log("La respuesta es:", respuesta)
                     },
                     error: function(respuesta){
                     console.log("Fail:", respuesta)
                     }
                 });


            }); 
        }); 
    </script> 

<div class="content-area">
    <h1>How Good Are You</h1>
        <form name="form" id="form" method="post">
            <input type="radio" name="howGood" value="Excellent">Excellent<br>
            <input type="radio" name="howGood" value="VeryGood">Very Good<br>
            <input type="radio" name="howGood" value="Good">Good<br>
            <input type="radio" name="howGood" value="Average">Average<br>
            <input type="radio" name="howGood" value="Poor">Poor
            <br>
</form>             
    </div>

我服务器中的代码是(它可以正常工作,我可以成功地进行调查):

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Web.Services;

namespace MvcApplication3.Controllers
{
    [HandleError]
    public class HomeController : Controller
    {
        public ActionResult Index()
        {

            return View();
        }

         [WebMethod]
         public string HandleForm()
        {
            string howGood = null; 
            try
            {
                howGood = Request.Form["howGood"];
                string connectionString = ConfigurationManager.ConnectionStrings["indivirtualTest"].ConnectionString;

                SqlDataAdapter SqlDataAdapter = new SqlDataAdapter();
                SqlCommand SqlCommand = new SqlCommand();

                SqlConnection conection = new SqlConnection(connectionString);
                conection.Open();
                string query = "UPDATE Howgoodareyou SET " + howGood + " = " + howGood + " + 1";
                SqlCommand myCom = new SqlCommand(query, conection);
                myCom.ExecuteNonQuery();
               // SqlDataReader dr = SqlCommand.ExecuteReader(CommandBehavior.CloseConnection);
                conection.Close();
            }
            catch (Exception e) { throw e;  }

            return howGood;
        }
    }
}

有人能帮助我吗?我没有得到任何答案......但代码执行正确。

谢谢,

2 个答案:

答案 0 :(得分:1)

您无法使用ajax引用外部网址。 url参数必须是本地的。

但是,您可以使用本地服务器脚本获取数据,然后对该脚本执行ajax请求。

答案 1 :(得分:0)

Hi Aroma请使用以下代码拨打电话ajax。我已经改变了javascript功能。

<div class="content-area">
<h1>How Good Are You</h1>
    <form name="formnew" id="formnew" method="post">
        <input type="radio" name="howGood" value="Excellent" onchange="callUrl(this);">Excellent<br>
        <input type="radio" name="howGood" value="VeryGood" onchange="callUrl(this);">Very Good<br>
        <input type="radio" name="howGood" value="Good" onchange="callUrl(this);">Good<br>
        <input type="radio" name="howGood" value="Average" onchange="callUrl(this);">Average<br>
        <input type="radio" name="howGood" value="Poor" onchange="callUrl(this);">Poor
        <br>


          

function callUrl(obj) {
    var valueSelected = $(obj).val();
    $.ajax({
        type: "POST",

        url: "http://localhost:49918/Home/HandleForm",

        data: { howGood: valueSelected },
        success: function (respuesta) {
            console.log("La respuesta es:", respuesta)
        },
        error: function (respuesta) {
            console.log("Fail:", respuesta)
        }
    });
}
</script>