在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>
答案 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中存在一些问题。现在,我已经解决了。谢谢