這是我在做什麼:試圖ajax的成功裏面使用時,「.replace()是不是一個函數」
function AddSupervisor()
{
var employeeID = $('#ID').val();
var supervisorId = $('#SupervisorId').val();
var supervisors = '';
if (supervisorId > 0)
{
$.ajax({
url: '@Url.Action("AddSupervisor", "Contact")',
type: 'GET',
dataType: 'json',
data: { EmployeeID: employeeID, SupervisorID: supervisorId },
success: function(data) {
supervisors = data;
$('#divSupervisorList').text(supervisors.replace(",", "<br />"));
},
error: function(data) {
}
});
}
}
這是錯誤:
Uncaught TypeError: supervisors.replace is not a function
如果我這樣做這樣的:
$('#divSupervisorList').text(data);
的結果在屏幕上是這樣的:
John Foo, Jane Bar
我要的是:
John Foo
Jane Bar
但我無法用<br />
更換,
。起初,我嘗試過:
$('#divSupervisorList').text(data.replace(",", "<br />"));
而當沒有工作,我去使用一個字符串,在ajax調用之前聲明。我也嘗試使用.split()
,但得到了同樣的錯誤。
不知道我在做什麼錯。
UPDATE:
正如許多人所指出的那樣,我的返回數據不是字符串,而是一個目標:
(4) ["Adam Brown", "Karl Walser", "Jeremy Smith", "Nathan Graham"]
0 : "Adam Brown"
1 : "Karl Walser"
2 : "Jeremy Smith"
3 : "Nathan Graham"
所以,現在我得弄清楚如何將這種陣列分成字符串:-)
確保數據是一個字符串。如果數據是一個object/array/null/undefined,則替換函數對於它們中的任何一個都不存在。 – adelineu
'dataType:'json',',嘗試在替換之前使用'.toString()'? – Hodrobond