2013-06-19 67 views
0

我使用下面的代码参数在AJAX未获得通过调用

function test() 
{ 
    GetAttributesForSelectedControlType('Phone Number'); 
} 

function GetAttributesForSelectedControlType(questionType) { 
    alert(questionType); 
    $.ajax({ 
     url: '/Wizards/GetAttributesForSelectedControlType/' + questionType, 
     type: "GET", 
     contentType: "application/json", 
     success: function (result) { 
      alert('success'); 
     } 

    }); 
} 

请注意:QUESTIONTYPE是一个字符串值,而不是任何类型..

的问题是,在控制器中,我m遇到"GetAttributesForSelectedControlType"函数,但参数值为空。 我发送字符串questionType。 有关于此的任何想法?

+0

你在警报得到正确的值? – Amit

+0

向我们展示您传递参数的代码,即您如何调用该函数。 –

+0

@Amit是的警报值正是我需要的。 – Gautam

回答

1
function GetAttributesForSelectedControlType(questionType) { 
    alert(questionType); 
    $.ajax({ 
     url: '/Wizards/GetAttributesForSelectedControlType', 
     contentType: "application/json", 
     data: { 
      questionType: questionType 
     }, 
     success: function (result) { 
      alert('success'); 
     } 
    }); 
} 
0

如果你正在寻找通过问题类型作为参数,你应该使用data:{qType:questionType}这将填补该函数的参数QTYPE GetAttributesForSelectedControlType

+0

我不这么认为,因为我通过一个简单的字符串.. – Gautam

+0

它并不重要如果它是一个简单的字符串或另一个对象。理想情况下,如果questionType具有任何价值,那么您应该甚至不应该使用正在做的事情来控制控制器。上述任何解决方案都是正确的方法。 – codetantrik

0

尝试:

function GetAttributesForSelectedControlType(questionType) { 

    $.get('/Wizards/GetAttributesForSelectedControlType', {questionType: questionType }) 
     .done(function(data) { 
      alert('success'); 
    }); 

} 

你需要传递作为数据的questionType。或者,您可以将这些附加内容添加到现有的ajax调用中。

data: {questionType: questionType } 

这将具有以下作用的工作:

public ActionResult GetAttributesForSelectedControlType(string questionType) 
{ 
    // ... 

}