如何将jQuery值发送到coldfusion变量<CFSET>中以执行<CFQUERY>?

时间:2019-06-18 06:21:08

标签: jquery coldfusion

在mouseenter上,我要将jquery值发送到cfset变量以在第二页中执行cfquery

//---first page---
$(document).ready(function(){
  $(".div5").mouseenter('contextmenu2', function (hr) {
    var id = this.id;
    var trd = $("#hover_id").val(id);  
    $.ajax({
      type:'POST',
      url:'jobdetail.cfc?method=job1',
      data: { jobdt: "#trd#"}
    });
  });
});
<!--- jobdetail.cfc page --->
<cffunction name="job1" output="false" access="remote" returntype="string">
  <cfargument name="jobdt" required="true" type="any"/>
  <cfquery name="jd" datasource="xxxx">
    SELECT * 
    FROM xxxxx
    WHERE xxx='xx' 
      AND xxx= <cfqueryparam value='#arguments.jobdt#' cfsqltype="CF_SQL_VARCHAR" />  
  </cfquery>
  <cfreturn "OK" />
</cffunction>

2 个答案:

答案 0 :(得分:1)

由于trd是一个JavaScript变量,而不是ColdFusion变量,因此您无需在jQuery中使用#号。要传递该值,请使用data: { jobdt: trd }而不是data: { jobdt: "#trd#" }

以上代码用于单个值。如果要传递多个值,例如“名称”和“ id”:

var name = 'kannan' ;
var id = 10

$.ajax({
      type:'POST',
      url:'jobdetail.cfc?method=job1',
      data: { "name": name, "id" : id }
});

如果要发送更多参数,可以使用JSON.Stringify()

var data = {};
// You can select your form value here also ( $('selector).val() )
data["Name"] = "Kannan"; 
data["id"] = "10";
data["address"] = "Kovilpatti india";
// ... etc
$.ajax({
    type: "POST",
    url: "jobdetail.cfc?method=job1",
    contentType: "application/json",
    data: JSON.stringify(data),
    error: function( msg ){
        // do something on error
        console.log( msg );
    },
    success: function (data) {
        // do something on success
        console.log( data );
    }
});

答案 1 :(得分:-1)

实际上,POST中存在一些问题。现在,我已经解决了。谢谢