我是javascript的新手,我真的不明白我遇到的错误。
我正在开发一个MVC3网站,该网站必须监控嵌入式系统。
以下是正在运行的javascript代码:
function GetTemp() {
var test = "gTe";
$.ajax({
url: '@Url.Action("../Carte/Get")',
type: 'GET',
data: {test: test},
success: function (result) {
if (result.charAt(4) == 'a') {
$("#LumAct").text(result.substr(0, 4) + " %");
alert('a');
}
...
这是返回字符串
的c#动作 public String Get(String test)
{
flag = TCPClient.SendData(test);
if (flag == "1")
{
try
{
value = TCPClient.ReceiveData();
}
catch
{
value = "Erreur";
}
}
else value = "Erreur";
return value;
}
我遇到的错误是萤火虫,它告诉我:
TypeError: result.charAt is not a function
[Stopper sur une erreur]
if (result.charAt(4) == 'a') {
那么,我还没理解什么?根据我的说法,我正在使用ajx函数将httpGet发送到控制器,控制器以字符串响应。在javascript中,我可以像我一样处理字符串。
要使用字符串对象,我还没有添加任何库。我应该这样做吗?我没有找到任何有关这方面的信息。
答案 0 :(得分:2)
你可以试试这个:
if (String(result).charAt(4) == 'a')
另外,如@Musa所述,您应该为AJAX调用添加dataType
属性:
$.ajax({
url: '@Url.Action("../Carte/Get")',
type: 'GET',
dataType: 'text',
data: {test: test},
success: function (result) {
if (result.charAt(4) == 'a') {
$("#LumAct").text(result.substr(0, 4) + " %");
alert('a');
}
答案 1 :(得分:1)
如果检查jQuery.ajax api page,您将看到第一个参数是格式化为dataType
参数的对象。老实说,我console.log
结果,看看它是什么样的。如果你不能charAt()
那么结果可能不是一个字符串。