Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在AJAX上发送var的正确方法是什么_Javascript_Jquery_Asp.net_Ajax_Vb.net - Fatal编程技术网

Javascript 在AJAX上发送var的正确方法是什么

Javascript 在AJAX上发送var的正确方法是什么,javascript,jquery,asp.net,ajax,vb.net,Javascript,Jquery,Asp.net,Ajax,Vb.net,我有一个调用Webmethod的javascript函数。我试着向webmethod发送一个常规字符串,结果成功了。在var empid=$('#'+txtId).val()上,我得到了文本框的正确值。通过ajax发送empid的正确方法是什么?我试过一些方法,但都不管用。任何帮助都将不胜感激。谢谢 .js .asmx.vb(webmethod) 这是删除contentType时的屏幕截图 而不是 data: '{ id: empid }', 使用 它的发送对json数据使用数据类型:“jso

我有一个调用Webmethod的javascript函数。我试着向webmethod发送一个常规字符串,结果成功了。在var empid=$('#'+txtId).val()上,我得到了文本框的正确值。通过ajax发送empid的正确方法是什么?我试过一些方法,但都不管用。任何帮助都将不胜感激。谢谢

.js

.asmx.vb(webmethod)

这是删除contentType时的屏幕截图

而不是

data: '{ id: empid }',
使用

它的发送

对json数据使用数据类型:“json”

$.ajax({
     url: 'ajax.php', //This is the current doc
     type: "POST",
     dataType:'json', // add json datatype to get json
     data: ({name: 145}),
     success: function(data){
         console.log(data);
     }
}); 
阅读文档

也在PHP中

<?php
  $userAnswer = $_POST['name']; 
  $sql="SELECT * FROM <tablname> where color='".$userAnswer."'" ;
  $result=mysql_query($sql);
  $row=mysql_fetch_array($result);
  // for first row only and suppose table having data
  echo json_encode($row);  // pass array in json_encode  
?>

您可以像下面这样使用:

var empid=$('#txtEmpId').val();
在数据中传递empid作为

data: { id: empid },

查看此处的小提琴:

对象周围不需要(和)。我可以发送常规字符串。我的问题是如何设置数据以发送empid var?在我用您的答案编辑后,它会给我一个错误。我在响应正文下打开开发工具,显示消息:{“message”:“无效的JSON原语:id.”,“StackTrace”:“at System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializePrimitiveObject()\r\n at System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeInternal(Int32深度)\r\n位于System.Web.Script.Serialization.JavaScriptObjectDeserializer.BasicDeserialize(字符串输入,Int32 depthLimit,JavaScriptSerializer序列化程序)\r\n….知道为什么会发生这种情况吗?@omachu23尝试删除
contentType
属性。我这样做了,但没有触发webmethod。我用一个屏幕截图更新了我的问题,在我删除了contentType之后,我在回复正文上看到了什么。@Bhojendra-C-LinkNepal你说的打字是什么意思?我就是这样读取发送的数据的从网络服务回来,它很有效。
<?php
  $userAnswer = $_POST['name']; 
  $sql="SELECT * FROM <tablname> where color='".$userAnswer."'" ;
  $result=mysql_query($sql);
  $row=mysql_fetch_array($result);
  // for first row only and suppose table having data
  echo json_encode($row);  // pass array in json_encode  
?>
var empid=$('#txtEmpId').val();
data: { id: empid },