我正在使用ajax调用,但我没有得到任何答案。在下一个图像中,您可以看到呼叫正常工作但我没有获得数据。
我的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;
}
}
}
有人能帮助我吗?我没有得到任何答案......但代码执行正确。
谢谢,
答案 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>